【JavaScript】循环选取数组元素

2021/09/09 12:15:47

对于数组 arr = [1, 2, 3, 4, 5, 6] 来说,arr[7] 是不存在的,如果想在索引值超出数组范围时根据下标剩余的下标值从数组头部选择,则 arr[7] 代表的值为 2,也就是 arr 索引为 1 的值。

arr:    [1   2   3   4   5   6 ]
index:   0   1   2   3   4   5
         6   7   8   9   10  11

要实现上述思路可以将目标索引与数组长度进行除余,得出的值就是目标索引映射到真实索引上的位置。

function getItemForList(list, index) {
  let currentIndex = index % list.length;
  return list[currentIndex];
}
getItemForList([1, 2, 3, 4, 5, 6], 7); // 2