2019-05-22
描述
把数组中指定个数的元素移动到末尾。
提示
- 使用
Array.prototype.slice()
分别获取指定索引后的元素和之前的元素 - 使用扩展运算符
...
把上一步得到的两个数组连接成一个数组 - 如果
offset
为负数,元素将从后面移动到前面
代码
const offset = (arr, offset) => [...arr.slice(offset), ...arr.slice(0, offset)];
示例
把前 2 个元素移动到最后:
offset([1, 2, 3, 4, 5], 2); // [3, 4, 5, 1, 2]
把最后两个元素移动到前面:
offset([1, 2, 3, 4, 5], -2); // [4, 5, 1, 2, 3]