Splice — один из самых мощных методов Array. Используя метод Splice, мы можем добиться следующих результатов:
- Удалить элемент/ы из указанного индекса массива
- Заменить элемент/ы из массива ( Remove + Insert )
- Вставить элемент/ы в массив
Короче говоря, метод splice мутирует исходный массив.
Посмотрите на синтаксис:
splice(start, deleteCount, item1, item2, itemN)
Note : Except start all others are optional )
Чтобы понять это, перейдем непосредственно к примерам.
Содержание
Удаление элементов из массива
Пример — 1
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
numbers.splice(2);
console.log(' result - 1 ', numbers); // [1, 2]
-
Метод splice удаляет все остальные элементы с указанного индекса (т.е. начала, как указано в синтаксисе).
-
Теперь есть четыре возможности: начало — индекс может быть +ve, -ve, ноль, индекс вне границы
Пример — 2
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
numbers.splice(0);
console.log(' result - 1 ', numbers); // []
- В основном метод splice удаляет все элементы с индекса 0.
- Это означает, что в конечном итоге он удаляет все элементы из массива.
- Мы можем сделать вывод, что мы можем очистить массив используя метод splice.
Пример — 3
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
numbers.splice(-2);
console.log(' result - 1 ', numbers); // [1, 2, 3, 4, 5, 6, 7]
- Если начальный индекс указан -ve, то метод splice удаляет все элементы из конца массива.
Пример — 4
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
numbers.splice(20);
console.log(' result - 1 ', numbers); // [1, 2, 3, 4, 5, 6, 7, 8, 9];
- Если начальный индекс указан больше или равен длине массива, то ни один элемент не удаляется.
Удаление N элементов из массива
splice(start, deleteCount)
- Теперь вместе с индексом, с которого мы можем начать удаление элементов, мы можем указать, сколько именно элементов может быть удалено с помощью deleteCount, как указано в синтаксисе.
- Обратите внимание, что это необязательный параметр.
- Теперь мы рассмотрим примеры, чтобы получить представление об этом
Пример — 5
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
numbers.splice(3,2);
console.log(' result - 1 ', numbers); // [1, 2, 3, 6, 7, 8, 9]
- В приведенном примере метод splice начнет удалять 2 элемента (2 — deletecount) от начального индекса, т.е. 3.
Замена элементов из массива
splice(start, deleteCount, item1, item2, itemN)
- Мы можем заменять элементы массива, т.е. вставлять и удалять элементы одновременно.
- Посмотрите на следующий пример, и вы сможете понять это.
Пример — 6
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
numbers.splice(3,2, "a", "b", "c");
console.log(' result - 1 ', numbers); // [1, 2, 3, 'a', 'b', 'c', 6, 7, 8, 9]
- В приведенном примере с индекса 3 (т.е. начало — 3) удаляются 2 элемента (т.е. счетчик удалений — 2 и элементы : 3 & 4) и добавляются «a», «b» и «c».
Вставка элементов в массив
- Этого можно легко достичь, если оставить значение delete count равным 0.
Пример — 7
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
numbers.splice(3,0, "a", "b", "c");
console.log(' result - 1 ', numbers); // [1, 2, 3, 'a', 'b', 'c', 4, 5, 6, 7, 8, 9]
Полагаю, что этот пример не нуждается в объяснении, если вы просмотрели предыдущий пример.
Возвращаемое значение
- Иногда нам необходимо отслеживать, какие именно элементы были удалены.
- Когда мы сращиваем массив, то возвращается массив удаленных элементов.
- Взгляните на этот пример:
Пример — 8
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let deletedArray = numbers.splice(3,2);
console.log( " -- deleted arr --- ", deletedArray); // [4, 5]
- Обратите внимание, если из массива не удален ни один элемент, то возвращается пустой массив.
Спасибо, что заглянули! Если вы нашли эту статью полезной, поделитесь ею. Вы можете связаться со мной здесь : Linkedin