Sobes.tech
Назад к вопросам
Junior — Middle
59

Можете объяснить различие между методами slice и splice при работе с массивами в JavaScript?

Компании, где спрашивали
JetlendJetlend

Ответ от нейросети

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 — для изменения массива на месте.