Javascript For Loop ...另一个函数在另一个?

joh*_*121 0 javascript for-loop

好吧,我似乎无法让这个工作.到目前为止我写了一个函数.它很棒.现在我需要让我的新函数调用第二个函数.

这是第一个功能:

function isVowelR(str) {

 if(str = str.match(/[aeiou]/gi))
    return true
 else
   return false
}
Run Code Online (Sandbox Code Playgroud)

这个工作正常.如果str是元音,则返回true.这是我坚持的一个.这是我尝试过的(以及其他一些东西.

function countVowels(str) {
    var count = 0
    for (var i = 0; i == str.length; i++)
    {
        if (i == isVowelR(i))
        {
            ++count
        }
    }

    return count

}
Run Code Online (Sandbox Code Playgroud)

第二个函数需要计算输入的字符串中有多少个元音(我在不同的函数中计算出来).但是如果我需要调用第一个函数,如何让它工作?

Dek*_*kel 5

问题是,该i变量是一个数字,所以你实际做的是isVowelR(0),isVowelR(1),isVowelR(2)...

您可以将其更改为:

isVowelR(str[i])
Run Code Online (Sandbox Code Playgroud)

另一个选择就是检查以下内容的长度match:

str.match(/[aeiou]/gi).length
Run Code Online (Sandbox Code Playgroud)

这样您就不需要遍历字符串上的每个字符:

function countVowels(str) {
    return str.match(/[aeiou]/gi).length
}
Run Code Online (Sandbox Code Playgroud)