这是一个课程项目,用于简单搜索字符串中的单词“ Wrox”。
我的代码:
var myString = "Welcome to Wrox books. ";
myString = myString + "The Wrox website is www.wrox.com. ";
mystring = myString + "Visit the Wrox website today. Thanks for buying Wrox. ";
var i = 0;
var wroxCount = 0;
while (i <= myString.length) {
i = myString.indexOf("Wrox",i);
wroxCount++;
i++;
}
在
i
由于某种原因决定重置为-1
之前,它可以正常工作。它一直起作用,直到突然不起作用为止。我不知道我在做什么错。 最佳答案
当在字符串中找不到要搜索的子字符串时,String.indexOf
返回-1
。
因此,这是您应该在while条件下检查的内容,而不是i <= myString.length
,因为如果i
是正数,则在字符串内找到了子字符串,因此索引小于长度。
i = myString.indexOf('Wrox');
while (i > 0) {
wroxCount++;
i = myString.indexOf('Wrox', i + 1);
}