首页 > 解决方案 > 根据计数将最后一项推送到数组中的第一项

问题描述

我有一个数组,

 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] 

等等 ..

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

标签: javascriptarrays

解决方案


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

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; }


推荐阅读