到达最后一个元素后重新启动数组



我想做的是遍历元素,但是当它到达数组长度的末尾时,它会从头开始重新启动循环,直到达到计数(它迭代的元素数(已经达到。一旦达到它,我想引用该元素值。

我猜我必须使用余数方法或其他方法?

let blogIcons = ["A", "B", "C"]
let count = 14; 
//How i want it to loop
// A,B,C,A,B,C,A,B,C, A, B, C, A, B
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14
//desired result having "B" as the value after count has been reached 
//Also how to refer that that element? by index or something?

典型的方法是使用模运算符 (%( 来获取计数和数组长度之间的余数:

let blogIcons = ["A", "B", "C"]
let count = 14; 
console.log(blogIcons[count % blogIcons.length]);

由于您似乎希望您的值从 1 开始而不是从零开始:

let blogIcons = ["A", "B", "C"]
let count = 14; 
console.log(blogIcons[(count + blogIcons.length - 1) % blogIcons.length]);

在这里,在从计数中减去 1 之前,我另外添加了blogIcons.length以避免在计数为零的情况下失败。

模运算符怎么样?

let blogIcons = ["A", "B", "C"]
let count = 14; 
console.log(blogIcons[(count-1) % blogIcons.length]) // since array starts from index at 0 you have to do -1

最新更新