我试图返回一个字母出现在一个单词中的次数.
我把这封信传递给了这样的函数
function getCount(letter)
{
var pattern = '/' + letter + '/g';
var matches = word.match(pattern);
return matches.length;
}
Run Code Online (Sandbox Code Playgroud)
不幸的是匹配是空的,所以我无法调用它的长度,我知道这个字母出现在我已经检查过的字样中
word.indexOf(letter) > -1
Run Code Online (Sandbox Code Playgroud)
我怀疑问题与我正在构建或评估的方式有关 pattern
以下是构建非文字正则表达式的方法:
var pattern = new RegExp(letter, 'g');
Run Code Online (Sandbox Code Playgroud)
有关构建正则表达式的信息,请参阅MDN.
这里有一个更简单的解决方案来计算这封信的出现次数:
return word.split(letter).length-1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
143 次 |
| 最近记录: |