// Это наши входные данные, именно с этим массивом мы хотим работать
let array = [0,1,2,3,4];
// Не стоит изменять входные данные, т.к. скорее всего вам с ними ещё работать в будущем, поэтому переложим их в новый массив
// Метод slice (БЕЗ АРГУМЕНТОВ), необходим для того, чтобы создать независимую копию массива, а не ссылаться на входные данные
let enumArray = array.slice();
// Метод удалит 2 элемента начиная с индекса 0.
// И сохранит удалённые элементы в новый массив.
const removed = enumArray.splice(0, 2);
// Возвращаем удалённые элементы в конец массива.
// Длинна массива в нашем случае будет служить индексом с которого нужно добавить обратно в массив все удаленные элементы
enumArray.splice(enumArray.length, 0, ...removed);
enumArray.forEach((item) => {
console.info(item);
});
通过找到除法的其余部分很容易防止数组循环
在执行正常迭代时,我们获取索引并为其添加必要的偏移量。
只要索引小于数组的长度,这个数字除以长度的余数将等于原始数字。而当它变得大于或等于长度时,我们将从头开始得到偏移量:
0 + 2 = 2->2 % 5 = 21 + 2 = 3->3 % 5 = 32 + 2 = 4->4 % 5 = 43 + 2 = 5->5 % 5 = 04 + 2 = 6->6 % 5 = 1有一个循环:
通过
forEach阅读有关拼接方法的更多信息,请阅读此处
在此处阅读有关数组独立副本的更多信息。