# Метод splice

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

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

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

## Синтаксис

`массив.splice(откуда удаляем, сколько удаляем, [вставить], [вставить]...);`

## Пример

Давайте удалим три элемента, начиная с первого:

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

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

`['a', 'e']`

## Пример

Давайте выведем массив удаленных элементов:

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

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

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

## Пример

Давайте сначала удалим элемент с номером `2`, а потом вместо него вставим еще три новых элемента:

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

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

`['a', 'b', '1', '2', '3', 'd', 'e']`

## Пример

Давайте теперь ничего не будем удалять, но на позицию `2`, вставим еще три новых элемента:

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

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

`['a', 'b', '1', '2', '3', 'c', 'd', 'e']`

## Пример . Отрицательное значение

Давайте удалим предпоследний элемент:

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

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

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

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

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

← →
↑
en ru