计算字符串中元音的函数

问题描述 投票:0回答:1

所以我对编码还是新手,我遇到了这个问题,它说

编写一个函数

countVowels(word)
,它接受一个字符串单词并返回该单词中的元音数量。

我想出了这个解决方案,但它不起作用,其中存在问题,我不知道是什么

let arr = ['a','e','o','i','u','U','I','O','E','A']
function count(word){
    let count = 0

    for (let i = 0 ; i< word.length;i++){
        let letter = word[i]
        if (arr.includes(letter) ){
            return count ++
        }
        return count
    }
}

我该怎么做才能让它发挥作用?!

我尝试用 foreach 来做这件事,它有效,但我不知道这个解决方案缺少什么

javascript
1个回答
0
投票

您应该在函数末尾添加

return
count
,否则您会过早返回第一个元音。另外我建议学习现代 JS 数据结构,比如
Set
。在许多情况下,最好使用
Set#has()
而不是
Array#includes()
,因为它更快、更语义化。

let set = new Set(['a','e','o','i','u','U','I','O','E','A']);
function count(word){
    let count = 0

    for (let i = 0 ; i< word.length;i++){
        let letter = word[i]
        if(set.has(letter)){
            count ++
        }
    }
    return count;
}

console.log(count('Hello WORLD!'));

© www.soinside.com 2019 - 2024. All rights reserved.