实现效果
循环访问
arr
里面的元素, 当超过索引时,回调到开头索引,循环往复.
顺方向
常规
let arr = [12,34,34,67]
let curIndex = 0;
if(curIndex=4){
curIndex = 0
}else{
curIndex++
}
求余运算
let arr = [12,34,34,67]
let curIndex = 0;
curIndex = (curIndex+1)%arr.length
效果
代码中的
%
运算符表示取模运算,用于获取 curIndex
除以 arr.length
的余数,这样可以保证 curindex
的值在 0 到 arr.length-1
(0~3)的范围内。
逆方向
循环访问arr
里面的元素, 逆序,当小于索引0
时,回调到结尾索引,循环往复.
常规
let arr = [12,34,34,67]
let curIndex = 0;
if(curIndex<0){
curIndex=arr.length-1
}else{
curIndex--
}
求余运算
let arr = [12,34,34,67]
let curIndex = 0;
curIndex = (curIndex+(arr.length-1))%arr.length
每次运算,都会将下一个索引指向前一个,
curIndex = (curIndex+(arr.length-1))%arr.length
%arr.length : 保证索引不会超
(curIndex+(arr.length-1)) : 保证是当前索引的前一位