Метод splice JavaScript

FavoriteLoadingДобавить в избранное

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

Синтаксис

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

Пример 1

Давайте удалим элементы с первого, 3 штуки (это 'b', 'c' и 'd'):

let arr = ['a', 'b', 'c', 'd', 'e'];

arr.splice(1, 3);
console.log(arr);
//Результат выполнения кода:
['a', 'e']

Пример 2

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

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

console.log(del);
//Результат выполнения кода:
['b', 'c', 'd']

Пример 3

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

let arr = ['a', 'b', 'c', 'd', 'e'];

arr.splice(2, 1, '1', '2', '3');
console.log(arr);
//Результат выполнения кода:
['a', 'b', '1', '2', '3', 'd', 'e']

Пример 4

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

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']

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

Давайте удалим предпоследний элемент 'd' (его номер -2):

let arr = ['a', 'b', 'c', 'd', 'e'];

arr.splice(-2, 1);
console.log(arr);
//Результат выполнения кода:
['a', 'b', 'c', 'e']

Написать Администратору

Вы можете написать Администратору сайта.

отправить