我的小功能似乎没有更新totalVowels
变量。
我目前的思路是:将参数转换为数组,对数组进行迭代,如果索引与我的vowel
正则表达式匹配,则我的totalVowels
变量将为每个匹配项加1 。
我觉得解决方案就在我的眼皮底下,但是我一直在改变很多小事情,以使它起作用,而且我目前还没有想法。
function VowelCount(str) {
let strArr = str.split('');
let totalVowels = 0;
let vowel = /a|e|i|o|u/gi
for (let i = 0; i < strArr.length; i++) {
if (strArr[i] === vowel) { totalVowels++ }
}
return totalVowels;
}
console.log(VowelCount('vowel'));
答案 0 :(得分:4)
strArr[i] === vowel
条件检查使用.match()
而不是if
,因为您使用的是正则表达式:
function VowelCount(str) {
let strArr = str.split('');
let totalVowels = 0;
let vowel = /a|e|i|o|u/gi
for (let i = 0; i < strArr.length; i++) {
if (strArr[i].match(vowel)) {
totalVowels++
}
}
return totalVowels;
}
console.log(VowelCount('hello there'));