我试图计算一个字母出现在字符串中的次数。这是我的代码:
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"));
答案 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);
}