![](/img/trans.png)
[英]count a how many times a letter appears in javascript using indexOf
[英]Count how many times a single letter appears in a word
我是JavaScript的新手,我想弄清楚如何计算单个字母在一个单词中出现的次数。 例如, 'p'
出现在'apple'
多少次
这是我到目前为止所写的内容,但是在弄清楚我要去哪里出错时遇到了麻烦。
var letterInWord = function (letter, word) {
var letter = 0;
var word = 0;
for (var i = 0; i < letter.charAt; i+= 1) {
if (letter.charAt(i) === " " = true) {
letter++;
console.log('The letter `letter` occurs in `word` 1 time.');
}
}
return letter;
};
您遇到了许多问题:
letter.charAt
是不确定的,如果letter
是一个数字,是一个函数,如果letter
是一个字符串。 无论哪种方式, i < letter.charAt
都没有道理。 word
中的letter
,为什么要查看letter.charAt(i)
? 您可能需要word.charAt(i)
。 " " = true
毫无意义。 也许您的意思是这样的?
var letterInWord = function (letter, word) {
var count = 0;
for (var i = 0; i < word.length; i++) {
if (word.charAt(i) === letter) {
count++;
}
}
return count;
};
'apple'.match(/p/g).length // outputs 2
换一种说法:
var letterInWord = function (letter, word) {
return (word.match( new RegExp(letter, 'g') ) || []).length;
};
这是一个较小的函数,也可用于$
或*
类的字符(并且由于它在字符串上调用length
,因此无需使用|| []
)
'apple'.replace(/[^p]/g,'').length // outputs 2
function charcount(c, str) {
return str.replace(new RegExp('[^'+c+']','g'),'').length
}
console.log = function(x) { document.write(x + "<br />"); };
console.log( "'*' in '4*5*6' = " + charcount('*', '4*5*6') ) // outputs 2
console.log( "'p' in 'pineapples' = " + charcount('p', 'pineapples') )// outputs 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.