JavaScript: slice и splice
управляем элементами массива в JavaScript
Всем известно про методы slice и splice глобального объекта Array. Один из них - slice возвращает копию части исходного массива, другой - splice изменяет содержимое исходного массива удаляя и добавляя элементы.
let arr = [1, 2, 3, 4, 5];
let sliceArr = arr.slice(1, 2);
arr.splice(1, 2, ...sliceArr);
console.log(arr);
К какому результату приведет выполнение кода, приведенного выше?
Итак, как уже говорилось ранее, метод slice вернет уменьшенную копию исходного массива arr. Он принимает два параметра:
start- индекс элемента, с которого начнется новый массив,end- индекс элемента, на котором новый массив закончится, при этом сам элемент с указанным индексом в новый массив включен не будет.let arr = [1, 2, 3, 4, 5]; // [1, 2, 3, 4, 5] let sliceArr = arr.slice(1, 2); // [2]
Таким образом, новый массив будет содержать только один элемент.
Следует помнить, что метод slice не изменяет исходный массив, в то время как splice модифицирует именно исходный массив.
Следующим шагом мы применяем метод splice, которому передаем три параметра:
arr.splice(1, 2, ...sliceArr);
Это означает, что:
- начиная с элемента с индексом 1,
- мы удаляем 2 элемента: то есть удаляем элементы со значениями 2 и 3, и получаем массив
[1, 4, 5] после чего, начиная с элемента с индексом 1, вставляем деструктурированный
...sliceArrмассив, содержащий только одно значение - 2, получая итоговый массив[1, 2, 4, 5].let arr = [1, 2, 3, 4, 5]; let sliceArr = arr.slice(1, 2); // 2 arr.splice(1, 2, ...sliceArr); // 1, 2, 4, 5 console.log(arr);
Итак, на экран консоли будет выведен массив, состоящий из четырех элементов [1, 2, 4, 5].
Спасибо за внимание.
