gpt4 book ai didi

javascript - 为什么我的 VowelCount 函数没有返回正确的解决方案?

转载 作者:行者123 更新时间:2023-11-29 21:15:48 25 4
gpt4 key购买 nike

出于某种原因,在有一对相邻元音的情况下,VowelCount() 只计算一个元音。例如,它将“goes”中的“oe”计为一个元音。我不明白为什么会这样。无论我是使用 forEach 函数还是 for 循环,它都会执行此操作。谁能消除我的误解?

这是我的代码:

function VowelCount(str) { 
var charArr = str.split('');
var pattern = /[aeiou]/gi;
var vowelCount = 0;
/*
charArr.forEach(function(char) {
if (pattern.test(char)) {
//console.log(char);
vowelCount++;
}
});
*/
for (var i = 0; i < charArr.length; i++) {
//console.log(charArr[i]);
if (pattern.test(charArr[i])) vowelCount++;
}
return vowelCount;
}

console.log(VowelCount("goes"));

最佳答案

我不确定为什么,但是全局搜索 /g 导致它在 e 上失败。您不需要全局搜索,因为您无论如何都要检查单个字符。

这是一个工作版本:

function VowelCount(str) { 
var pattern = /[aeiou]/i;
var vowelCount = 0;

for (var i = 0; i < str.length; i++) {
if (pattern.test(str[i])){
vowelCount++;
}
}
return vowelCount;
}

console.log(VowelCount("goes")); //2

我还对其进行了更改,因此您无需将其转换为 char 数组。 Foreaching 在字符串上达到相同的目的。

关于javascript - 为什么我的 VowelCount 函数没有返回正确的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39442448/

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