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 — это удобный способ получить подмассив или подстроку, не меняя оригинальные данные. Этот метод широко применяется при работе с коллекциями, создании пагинации, клонировании массивов и других задачах, связанных с выборкой данных.