如何循环遍历从不同索引开始的数组,同时仍然循环遍历整个数组?

2024-02-22

假设我有一个包含 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 + 偏移量相同。当到达数组末尾时,余数将为零,并从那里开始。

这是一个小提琴 http://jsfiddle.net/6e6cocbt/1/.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何循环遍历从不同索引开始的数组,同时仍然循环遍历整个数组? 的相关文章

随机推荐