30秒学会 JavaScript 片段 · 2019年4月15日

30秒学会 JavaScript 片段 – offset

Moves the specified amount of elements to the end of the array.

Use Array.prototype.slice() twice to get the elements after the specified index and the elements before that.
Use the spread operator(...) to combine the two into one array.
If offset is negative, the elements will be moved from end to start.

代码片段

const offset = (arr, offset) => [...arr.slice(offset), ...arr.slice(0, offset)];

使用样例

offset([1, 2, 3, 4, 5], 2); // [3, 4, 5, 1, 2]
offset([1, 2, 3, 4, 5], -2); // [4, 5, 1, 2, 3]