每当我输入搜索字词时,我都会得到0的结果。我试图找到模式在字符串中出现的次数。例如,搜索在会返回 3 。关于我要去哪里的任何建议?
string =
[
"cat math path"
]
var pattern = prompt('Please enter a search term:');
function check(string,pattern)
{
if(pattern)
{
if(pattern.indexOf(string) == -1)
{
return 0;
}
return count(pattern.substring(pattern.indexOf(string)+string.length), string)+1;
}
else
{
return("Nothing entered!");
}
}
alert(check(string,pattern));
答案 0 :(得分:1)
if(pattern.indexOf(string) == -1)
应该是
if(string.indexOf(pattern) == -1)
答案 1 :(得分:0)
我认为你推翻了pattern
和string
的使用。请参阅indexOf
的文档。您还可以使用split
轻松计算出现次数,这会将您的字符串分成数组:
count=string.split(pattern).length - 1;
string="cat math path";
(而不是数组)