JavaScript数组以圆圈重新排序

Mla*_*vic 0 javascript arrays setinterval

我有一个看起来像这样的javascript数组

var myArr = [1,2,3,4,5,6,7,8,9];
Run Code Online (Sandbox Code Playgroud)

我每秒都有一个setInterval函数.每次触发函数时,我需要重新排序数组,看起来像这样[2,3,4,5,6,7,8,9,1],然后下一次[3,4,5,6,7,8] ,9,1,2] ......这是最好的方法.

Cer*_*rus 9

这很简单:使用组合的shiftpush:

var myArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(myArr.join());

var myInterval = setInterval(
    function (){
        myArr.push(myArr.shift());
        console.log(myArr.join());
    },
    1000
);
Run Code Online (Sandbox Code Playgroud)

setInterval()每x毫秒运行提供的函数(1000在本例中),
shift()从调用它的数组中删除第一个元素,然后返回它,
push()将提供的参数添加到调用它的数组的末尾.


您可以使用unshift和反转方向pop:

var myArr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(myArr.join());

var myInterval = setInterval(
    function (){
        myArr.unshift(myArr.pop());
        console.log(myArr.join());
    },
    1000
);
Run Code Online (Sandbox Code Playgroud)