根据计数将最后一项推入数组中的第一项

时间:2018-12-20 12:48:28

标签: javascript arrays

我有一个数组,

 var myArray = [ 1,2,3,4,5 ] 

和可变计数

var count = 5

伪代码:

   if count = 1, output myArray = [5,1,2,3,4]  
   if count = 2, then myArray = [ 4,5,1,2,3] 

以此类推..

如何在不使用循环的情况下实现这一目标?

2 个答案:

答案 0 :(得分:5)

您可以使用负索引从末尾的数组中切出最后一部分和第一部分,并连接一个新数组。

function move(array, i) {
    return array.slice(-i).concat(array.slice(0, -i));
}

var array = [1, 2, 3, 4, 5];

console.log(move(array, 1)); // [5, 1, 2, 3, 4].
console.log(move(array, 2)); // [4, 5, 1, 2, 3] 
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 1 :(得分:2)

使用pop删除数组的最后一项,然后使用unshift将该数组添加到错误的开头

const count = 2;
const myArray = [ 1,2,3,4,5 ];
for (let i = 0; i < count; i++) {
  myArray.unshift(myArray.pop());
}
console.log(myArray);