使用循环滚动数组

时间:2012-09-12 00:17:59

标签: javascript arrays

如何使用循环来有效地滚动数组,无论是作用于数组本身还是返回新数组

arr = [1,2,3,4,5]

我想做这样的事情:

arr.scroll(-2)

arr now is [4,5,1,2,3]

1 个答案:

答案 0 :(得分:4)

使用Array.slice

> arr.slice(-2).concat(arr.slice(0, -2));
[4, 5, 1, 2, 3]

can然后对其进行概括,并使用Array.prototype函数扩展scroll

Array.prototype.scroll = ​function (shift) {
    return this.slice(shift).concat(this.slice(0, shift));
}​;

> arr.scroll(-2);
[4, 5, 1, 2, 3]