在 Javacript 的简单数组循环中为
for (var i=0; i<array.length; i++) {
var previous=array[i-1];
var current=array[i];
var next=array[i+1];
}
我需要无限循环地获取前一个
和下一个
元素。例如,
The previous element of the first element in the array is the array last element
The next element of the last element in the array is the array first element
最有效的方法是什么?我能想到的唯一方法是在每一轮中检查该元素是数组中的第一个还是最后一个。
事实上,我希望以某种方式使数组成为闭环,而不是线性的。
最佳答案
使用modulus :
var len = array.length;
var current = array[i];
var previous = array[(i+len-1)%len];
var next = array[(i+1)%len];
在获取前一个时请注意+len
:我们需要它的原因是为了避免负索引,因为模数的工作方式(非常不幸的是,-x%
是 -(x%)
)
关于javascript - 如何在 JavaScript 中获取数组循环的上一个和下一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14388291/