繁体   English   中英

循环计数器重置为-1

[英]Loop counter resetting to -1

这是一个课程项目,用于简单搜索字符串中的单词“ 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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM