循环滚动数组

joh*_*wie 2 javascript arrays

如何通过作用于数组本身或返回新数组的循环有效地滚动数组

arr = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

arr.scroll(-2)

arr now is [4,5,1,2,3]
Run Code Online (Sandbox Code Playgroud)

Joã*_*lva 6

使用Array.slice

\n\n
> arr.slice(-2).concat(arr.slice(0, -2));\n[4, 5, 1, 2, 3]\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后您可以概括它并Array.prototype使用该scroll函数进行扩展:

\n\n
Array.prototype.scroll = \xe2\x80\x8bfunction (shift) {\n    return this.slice(shift).concat(this.slice(0, shift));\n}\xe2\x80\x8b;\n\n> arr.scroll(-2);\n[4, 5, 1, 2, 3]\n
Run Code Online (Sandbox Code Playgroud)\n