Метод slice возвращает указанную часть массива.

Первым параметром указывается номер элемента массива, с которого начинается вырезание, а вторым параметром - номер элемента, на котором закончится вырезание (при этом элемент с этим номером не включится в вырезанную часть).

Второй параметр не является обязательным. Если его не указать - подмассив возьмется с указанного в первом параметре элемента до конца массива.

Второй параметр также может принимать отрицательные значения. В этом случае отсчет элемента, на котором закончится обрезание, начинается с конца массива. Причем, последний элемент имеет номер "-1", предпоследний - "-2" и так далее.

К примеру, если написать slice(1, -1), то вырезанная часть возьмется с первого элемента включительно по последний не включая его. Если вам нужно включить и последний элемент - нужно просто не задавать второй параметр для slice, вот так: slice(1).

Метод не изменяет исходный массив.

Напоминаю, что в массиве нумерация элементов начинается с нуля.

См. также метод splice, который также отрезает части массива.

Синтаксис

массив.slice(откуда отрезать, [докуда отрезать]);

Примеры

Пример

Давайте вырежем из массива элементы с нулевого по второй не включительно (второй не вырежется):

var arr = ['a', 'b', 'c', 'd', 'e'];
console.log(arr.slice(0, 2));

Результат выполнения кода:

['a', 'b']

Пример

Давайте вырежем с первого элемента до конца массива. Для этого второй параметр не задаем:

var arr = ['a', 'b', 'c', 'd', 'e'];
console.log(arr.slice(1));

Результат выполнения кода:

['b', 'c', 'd', 'e']

Пример

Давайте вырежем элементы со второго по предпоследний (-1 указывает на последний элемент и он не включится в извлеченную часть):

var arr = ['a', 'b', 'c', 'd', 'e'];
console.log(arr.slice(1, -1));

Результат выполнения кода:

['b', 'c', 'd']

Преимущество такого подхода в том, что вырезаться всегда будет часть массива, не включая последний элемент, независимо от размера массива.