Javascript:计算字符串中元音的数量

时间:2017-02-23 05:10:44

标签: javascript

我正在尝试计算字符串中元音的数量,但我的计数器似乎没有返回多个元数。有人可以告诉我我的代码有什么问题吗?谢谢!

var vowelCount = function(str){
  var count = 0;
  for(var i = 0; i < str.length; i++){
    if(str[i] == 'a' || str[i] == 'i' || str[i] == 'o' ||str[i] == 'e' ||str[i] == 'u'){
      count+=1;
    }
  }
  return count;
}
console.log(vowelCount('aide'));

1 个答案:

答案 0 :(得分:6)

return count循环之外

for,或使用RegExp /[^aeiou]/ig作为.replace()的第一个参数,""作为替换字符串,get { {1}}

返回的字符串{1}}

.legnth

.replace()说明

字符集

vowelLength = "aide".replace(/[^aeiou]/ig, "").length; console.log(vowelLength); vowelLength = "gggg".replace(/[^aeiou]/ig, "").length; console.log(vowelLength);一个否定或补充的字符集。也就是说,它匹配括号中未包含的任何内容。

标志

RegExp忽略大小写

[^xyz]全球比赛;找到所有比赛而不是在第一场比赛后停止

使用展开元素,支持igArray.prototype.reduce()

String.prototype.indexOf()

或者,不是创建新字符串或新数组来获取String.prototype.contains()属性或迭代字符串字符,而是使用const v = "aeiouAEIOU"; var vowelLength = [..."aide"].reduce((n, c) => v.indexOf(c) > -1 ? ++n : n, 0); console.log(vowelLength); var vowelLength = [..."gggg"].reduce((n, c) => v.indexOf(c) > -1 ? ++n : n, 0); console.log(vowelLength);循环,.lengthfor..of { {1}}如果RegExp.prototype.test评估为RegExp传递的字符,则将最初设置为/[aeiou]/i的变量递增。

0