假设我有一个由5个字符串组成的数组。如何在索引3处开始for循环,然后在索引2处结束?让我举个例子吧。
var myArry = ["cool", "gnarly", "rad", "farout", "awesome"];
想从索引3(“ farout”)开始循环到数组的末尾(“ awesome”),然后继续从索引0到索引2循环。基本上从某个点(索引0除外)开始数组,并且仍然命中每一个数组中的元素。
一种方法是像往常一样使用索引循环遍历数组,并使用带有偏移量的模运算符,以获得指向数组中正确位置的指针:
var myArry = ["cool", "gnarly", "rad", "farout", "awesome"];
var offset = 3;
for( var i=0; i < myArry.length; i++) {
var pointer = (i + offset) % myArry.length;
console.log(myArry[pointer]);
}
因此,您的循环是贯穿每个元素的标准循环。您将当前位置加上偏移量,然后从中得到余数除以数组大小。直到您到达数组的末尾为止,它将与i + offset相同。当您到达数组的末尾时,余数将为零,然后从那里开始。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句