javascript - 如何在 JavaScript 中获取数组循环的上一个和下一个元素?

标签 javascript arrays loops

在 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/

相关文章:

javascript - 在构造函数外部访问构造函数属性

javascript - Flickity 通过 webpack 返回不同的结果

arrays - 如何从 swift 3 中给出的数组中删除所有索引值

php - 如何合并多个未知长度的平面数组,转置它们,然后形成一维数组?

c++ - 二维数组中的特殊多边形for循环

python - 使用 BeautifulSoup 迭代 XML 以提取特定标签并存储在变量中

javascript - Mathjax 忽略页面上的 latex

JavaScript 正则表达式 : replace this or that word (have or not whitespaces between words)

java - 在二维数组中查找邻居(不包括对角线)

java - R.id.ImageButton 的值是多少?