splice()

Метод Array.splice() – это универсальный метод, выполняющий вставку или удаление элементов массива.

В отличие от методов slice() и concat(), метод splice() изменяет исходный массив, относительно которого он был вызван. Обратите внимание, что методы splice() и slice() имеют очень похожие имена, но выполняют совершенно разные операции.

Метод splice() может удалять элементы из массива, вставлять новые элементы или выполнять обе операции одновременно. Элементы массива при необходимости смещаются, чтобы после вставки или удаления образовывалась непрерывная последовательность.

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

Второй аргумент определяет количество элементов, которые должны быть удалены (вырезаны) из массива. Если второй аргумент опущен, удаляются все элементы массива от указанного до конца массива. Метод splice() возвращает массив удаленных элементов или (если ни один из элементов не был удален) пустой массив. Например:

var a = [1,2,3,4,5,6,7,8];

a.splice(4); // Вер­нет [5,6,7,8]; a = [1,2,3,4]
a.splice(1,2); // Вер­нет [2,3]; a = [1,4]
a.splice(1,1); // Вер­нет [4]; a = [1]

______________________________________________

Первые два аргумента метода splice() определяют элементы массива, подлежащие удалению. За этими аргументами может следовать любое количество дополнительных аргументов, определяющих элементы, которые будут вставлены в массив, начиная с позиции, указанной в первом аргументе. Например:

var a = [1,2,3,4,5];

a.splice(2,0,'a','b'); // Вер­нет []; a = [1,2,'a','b',3,4,5]
a.splice(2,2,[1,2],3); // Вер­нет ['a','b']; a = [1,2,[1,2],3,3,4,5]

Обратите внимание, что, в отличие от concat(), метод splice() вставляет массивы целиком, а не их элементы.

Еще примеры:

var arr = ["Я", "изучаю", "JavaScript"];

arr.splice(1, 1); // начиная с позиции 1, удалить 1 элемент

console.log( arr ); //  осталось ["Я", "JavaScript"]
var arr = ["Я", "сейчас", "изучаю", "JavaScript"];

// удалить 3 первых элемента и добавить другие вместо них
arr.splice(0, 3, "Мы", "изучаем")

console.log( arr ) // теперь ["Мы", "изучаем", "JavaScript"]

Методspliceтакже может вставлять элементы без удаления, для этого достаточно установитьdeleteCountв0:

var arr = ["Я", "изучаю", "JavaScript"];

// с позиции 2
// удалить 0
// вставить "сложный", "язык"
arr.splice(2, 0, "сложный", "язык");

console.log( arr ); // "Я", "изучаю", "сложный", "язык", "JavaScript"

<<< back

results matching ""

    No results matching ""