Javascript 为什么第二个for循环需要+;我
我理解所有这些以及它是如何工作的,除了:为什么第二个for循环需要“+I”?为什么不能用“+1”来代替呢Javascript 为什么第二个for循环需要+;我,javascript,loops,Javascript,Loops,我理解所有这些以及它是如何工作的,除了:为什么第二个for循环需要“+I”?为什么不能用“+1”来代替呢 text=“诸如此类诸如此类诸如此类 诸如此类诸如此类埃里克诸如此类埃里克诸如此类 诸如此类诸如此类诸如此类的埃里克”; var myName=“Eric”; var命中率=[]; //在课文中寻找“E” 对于(变量i=0;i
text=“诸如此类诸如此类诸如此类
诸如此类诸如此类埃里克诸如此类埃里克诸如此类
诸如此类诸如此类诸如此类的埃里克”;
var myName=“Eric”;
var命中率=[];
//在课文中寻找“E”
对于(变量i=0;i
循环的j
偏移了i
i
从0到文本。长度
,例如从0到100
每当发现“E”
时j
循环从i
到i+myName.length
,例如从50到54
您还可以将j
从0循环到myName.length
并执行text[j+i]
请注意,此代码实际上并不查找
“Eric”
,而是查找“E”
,然后记录接下来的4个字符。如果您的输入字符串是“EaEbEc foo”
,那么您的结果将是[“EaEb”、“EbEc”、“Ec f”]
它之所以执行+i,是因为代码试图将Eric的每一次出现从文本推到命中,所以它想要计算myname.length字母。这也可以通过j从0开始并使用文本[j+i]
i等于文本内部的当前位置来实现。比如说
v (i = 5 Starting from 0)
Blah Blah Blah
或
所以i+name.length是单词的结尾
v->v (i=11 -> i+lenth=14)
Blah Blah Eric Blah
如果你选择+1,你会得到
v<-------v (i=11 -> 1)
Blah Blah Eric Blah
v1)
胡说八道埃里克胡说八道
因为myName.length+i
是Eric
从i
的起始位置字符开始的结束字符位置,所以循环应该在这里结束。我没有意识到第二个for循环的“停止计数器”从位置0开始计数,我想它会在“开始计数器”开始计数的地方开始计数开始数数!现在一切都有意义了!!!而且做.push(text[j+i])
也有意义。非常棒这个地方太棒了,谢谢大家!!!我希望我能给你们所有人打勾。。
v->v (i=11 -> i+lenth=14)
Blah Blah Eric Blah
v<-------v (i=11 -> 1)
Blah Blah Eric Blah