在JS中每秒旋转数组中元素的位置

时间:2017-07-11 11:22:35

标签: javascript jquery arrays

我试图在JS中创建一个循环,它是数组中N个元素的每秒变化/旋转位置,首先变为第二个,第二个变为第三个,依此类推,最后变为第一个,何时变为第一个再重复一遍

第一步

array = ['1','2','3'];

第二步

array = ['2','3','1'];

第三步

array = ['3','1','2'];

重复

看起来很容易,但我已经卡住了

感谢

2 个答案:

答案 0 :(得分:7)

Array.shift()将删除第一个元素。 Array.push()将在末尾添加元素

setInterval将每隔1000 ms

执行一次该函数

let array = [1,2,3];

setInterval(()=>{
  array.push(array.shift());     
  console.log(JSON.stringify(array));
}, 1000);

答案 1 :(得分:2)

非常简单

//ES5
var array = ['1','2','3'];

function rotate(){
  setInterval(function(){
    console.log(array);
    array.push(array.shift())        
  },1000)  
}

rotate();