gpt4 book ai didi

javascript - RegExp 或循环有问题

转载 作者:行者123 更新时间:2023-12-02 17:36:42 27 4
gpt4 key购买 nike

我必须计算一个字母被按下了多少次。我写了程序(我必须只使用JS),大部分,但我似乎遇到了问题。

如果键盘输入的是“w s s d”,则会显示“字母w被按了一次”和“字母s被按了2次”。字母 D 根本不显示。而且,说实话,我看不出问题出在哪里。

for(index = 0; index< inputList.length; index++) {        
if(str != null && patt.test(str) && inputList[index].trim().length > 0) {
var match1 = str.match(new RegExp(inputList[index], "g"));
if(match1 != null){

output.innerHTML = output.innerHTML + ('<span>Letter ' + inputList[index] + " was pressed " + match1.length + " times</span><br/>");
str = str.replace(new RegExp(inputList[index], "g"), '');
}
}
}

这是 fiddle :code

最佳答案

打印次数后,输入:

index = index + match1.length - 1;

这是因为即使按键次数增多,index 也始终会增加 1,这意味着当您使用 w s s d 时,您将循环遍历索引0 1 2 而不是 0 1 3(2 被跳过,因为 s 出现了两次)。

fiddle edited

关于javascript - RegExp 或循环有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22553079/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com