slice в JavaScript: извлечение части массива в JS

slice — это метод массива в JavaScript, который позволяет извлечь часть массива и вернуть новый массив с выбранными элементами. Исходный массив при этом не изменяется. Этот метод полезен для получения подмассива на основе индексов.

Синтаксис метода slice

array.slice(start, end)
  • start — индекс первого элемента, который попадет в новый массив (включительно).
  • end — индекс элемента, который не попадет в новый массив (не включительно). Если не указан, копируются все элементы до конца массива.

Пример использования slice

const numbers = [0, 1, 2, 3, 4, 5];
const part = numbers.slice(2, 5);
console.log(part); // [2, 3, 4]

Извлечение части с конца массива

Если индексы отрицательные, они считаются с конца массива:

const numbers = [0, 1, 2, 3, 4, 5];
const lastTwo = numbers.slice(-2);
console.log(lastTwo); // [4, 5]

Копирование всего массива

Если вызвать slice() без аргументов, вернется полная копия массива:

const numbers = [1, 2, 3];
const copy = numbers.slice();
console.log(copy); // [1, 2, 3]

Использование slice для работы со строками

Хотя метод slice чаще применяется к массивам, строки в JavaScript тоже поддерживают этот метод:

const text = 'JavaScript';
const part = text.slice(4, 10);
console.log(part); // Script

Отличия от splice

Важно не путать slice и splice:

  • slice не изменяет исходный массив.
  • splice изменяет массив, удаляя или добавляя элементы.
const numbers = [1, 2, 3, 4, 5];
const sliced = numbers.slice(1, 4); // [2, 3, 4], numbers не изменился
const spliced = numbers.splice(1, 3); // удаляет [2, 3, 4], numbers изменился

slice в JavaScript — это удобный способ получить подмассив или подстроку, не меняя оригинальные данные. Этот метод широко применяется при работе с коллекциями, создании пагинации, клонировании массивов и других задачах, связанных с выборкой данных.