totalVowels变量未更新

时间:2018-10-24 15:44:56

标签: javascript regex

我的小功能似乎没有更新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'));

1 个答案:

答案 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'));