如何计算一个字母出现在文本javascript中的次数

时间:2016-02-12 17:28:06

标签: javascript

我试图计算一个字母出现在字符串中的次数。这是我的代码:

var myFunc = function(inside) {
    count = 0; 
    for (var i=0;i<inside.length;i++) {
        if(inside[i]==="a") {
            count+=1;
            }
        return count;
    };
};
console.log(myFunc("hai, okay"));

5 个答案:

答案 0 :(得分:1)

var myFunc = function(inside) {
    count = 0; 
    for (var i=0;i<inside.length;i++) {
        if(inside[i]=="a") {
            count+=1;
            }
        //return should not come here
    };
    return count;

};
console.log(myFunc("hai, okay"));

或者你也可以使用它

var myFunc = function(inside) {
        return (inside.match(new RegExp("a", "g"))).length;
    }
console.log(myFunc("hai, okay"));

答案 1 :(得分:0)

您的代码未给出正确的结果,因为它在for循环中有一个return语句,因此它将在第一次迭代后返回并返回0。您可以简单地将返回值设置为循环以使其正常工作。

您也可以简单地将方法更改为

var myFunc = function(inside, character) 
{
    return inside.split( character ).length - 1;
};
console.log(myFunc("hai, okay"), "a");

答案 2 :(得分:0)

怎么样?
var countAs = inside.replace(/[^a]/g, '').length;

原因:消除所有不需要的字符,并占用其余部分的长度。

Warpped:

function howMany(inside, theChar)
{
    var reg = new RegExp("[^" + theChar + "]","g");
    return inside.replace(reg, '').length;
}

答案 3 :(得分:0)

多少封信?在“Abba”中将是2个字母,即“a”和“b”?

{{1}}

答案 4 :(得分:-1)

这是计算char(s)的函数

function getRepeatedCharCount(SentenceAsString , repeatedChar){
  var reg = new RegExp("[^" + repeatedChar + "]","g");
  var counter = SentenceAsString.replace(reg, '').length
  alert(counter);
}