Push last item to first in an array based on a count
本问题已经有最佳答案,请猛点这里访问。
我有一个阵列,
1 | var myArray = [ 1,2,3,4,5 ] |
和可变计数,
1 | var count = 5 |
号
伪代码:
1 2 | if count = 1, output myArray = [5,1,2,3,4] if count = 2, then myArray = [ 4,5,1,2,3] |
等等……
我如何才能在不使用循环的情况下实现这一点?
您可以从最后一部分和第一部分的数组的末尾使用负索引进行切片,然后concat一个新数组。
1 2 3 4 5 6 7 8 | 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] |
1 | .as-console-wrapper { max-height: 100% !important; top: 0; } |
号
用
1 2 3 4 5 6 | const count = 2; const myArray = [ 1,2,3,4,5 ]; for (let i = 0; i < count; i++) { myArray.unshift(myArray.pop()); } console.log(myArray); |