Назад к вопросам
Jetlend
Junior — Middle
59
Можете объяснить различие между методами slice и splice при работе с массивами в JavaScript?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Методы slice и splice в JavaScript работают с массивами, но имеют разные назначения:
-
slice(start, end)— возвращает новый массив, содержащий копию части исходного массива от индексаstartдоend(не включаяend). Исходный массив не изменяется. -
splice(start, deleteCount, ...items)— изменяет исходный массив, удаляяdeleteCountэлементов, начиная с индексаstart, и вставляя вместо них элементыitems(если они указаны). Возвращает массив удалённых элементов.
Пример:
let arr = [1, 2, 3, 4, 5];
// slice
let newArr = arr.slice(1, 3); // [2, 3]
console.log(arr); // [1, 2, 3, 4, 5] - исходный массив не изменился
// splice
let removed = arr.splice(1, 2, 8, 9); // удаляет 2 элемента с индекса 1 и вставляет 8, 9
console.log(arr); // [1, 8, 9, 4, 5]
console.log(removed); // [2, 3]
Таким образом, slice — для создания подмассива без изменения оригинала, а splice — для изменения массива на месте.