我调试了这个函数,我发现var indexOfString 无法重新分配,为什么?
function occurrencesOfSubstring(fullString, substring){
var countOfString = 0
var indexOfString = 0
while(true){
indexOfString = fullString.indexOf(substring,indexOfString)
if (indexOfString > 0){
countOfString += 1
}else{
return countOfString
}
}
}
答案 0 :(得分:0)
尝试使用:
var indexOfString = -1;
...
indexOfString = fullString.indexOf(substring,indexOfString + 1);
否则,每次循环时都会继续找到相同的索引。
另外,请记住索引是从零开始的,因此如果字符串的“first”字符开始匹配您的子字符串,那么结果将得到0
。所以你可以改变你的条件:
if (indexOfString >= 0){
countOfString += 1
}else{
return countOfString
}
答案 1 :(得分:0)
谢谢你们,我知道问题在哪里。
function occurrencesOfSubstring(fullString, substring){
var countOfString = 0
var indexOfString = 0
while(true){
indexOfString = fullString.indexOf(substring,indexOfString + 1)
if (indexOfString > 0){
countOfString += 1
}else{
return countOfString
}
}
}