# Метод slice

Метод `slice` вырезает и возвращает указанную часть массива. Сам массив при этом не изменяется.

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

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

## Синтаксис

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

## Пример

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

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

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

`['a', 'b']`

## Пример

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

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

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

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

## Пример

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

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

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

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

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

## Смотрите также

- метод `splice`,
  который также отрезает части массива, изменяя при этом сам массив
- метод `shift`,
  который удаляет первый элемент массива
- метод `pop`,
  который удаляет последний элемент массива

← →
↑
en ru