gpt4 book ai didi

javascript - 为什么这个元音计数失败?

转载 作者:行者123 更新时间:2023-11-28 15:57:24 26 4
gpt4 key购买 nike

function VowelCount(str) {
var counter=0;
for(i=0; i<str.length; i++)
{
if (/[AEIOUaeiou]/g.test(str[i]))
{
counter += 1;
}
}
return counter;
}

VowelCount("aaaeeebziiiooouu");

这会在 repl.it 上返回“14”,但在 coderbyte 上仅返回“7”。

我错过了什么?

最佳答案

虽然其他人是正确的,但您应该使用 match 来代替。您问为什么它不起作用,这是因为您在正则表达式上设置了 g 标志,因此它将跟踪上一个匹配的 lastIndex 并开始从该索引用于后续匹配。

例如

var rx = /a/g;

rx.test('aa'); //true

console.log(rx.lastIndex); //1

rx.test('a'); //false

关于javascript - 为什么这个元音计数失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18262214/

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