javascript - 计算字符串中的特定字符数

标签 javascript

我正在尝试计算字符串中特定字符的数量,但得到的是“0”而不是正确的输出。我知道有更简单的方法来获得解决方案,但我想知道如何这样做以及我做错了什么。

function countCharacter(str, char) {
  var count = 0;
  for(var i = 0; i < str.length; i++){
    if(str.charAt(i) === char){
      count++;
    }
    return count;
  }
}
countCharacter("My cat is driving my crazy", "a");

最佳答案

你在 for 循环中返回,所以 for 循环只迭代一次:

function countCharacter(str, char) {
  var count = 0;
  for(var i = 0; i < str.length; i++){
    if(str.charAt(i) === char){
      count++;
    }
  }
 return count;
}
countCharacter("My cat is driving my crazy", "a");

顺便说一句,更短:

countCharacter=(str,char)=>str.split("").reduce((count,letter)=>letter===char?count+1:count,0);

关于javascript - 计算字符串中的特定字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43451555/

相关文章:

javascript - css完成后更改innerHtml文本?

javascript - 重复 innerHTML.replace

Javascript 跨域 PostMessage 不起作用

javascript - 提交比预期更多字段的 html 表单

javascript - 使用 php get 将数据发送到 firebase

javascript - 使用 Jasmine 测试模块中的函数

javascript - 使用最新版本的 jQuery Bootstrap 轮播

javascript - 将元素数组添加到dom

javascript - 主页中的隐藏内部链接(可以通过 onclick 事件显示)用于 SEO?

javascript - 如何在 knockout 数组中使用 "rename"属性名称