Splice
Изменяет содержимое массива, добавляя новые элементы и удаляя старые.
Метод из Реализован в
JavaScript 1.2, NES 3.0
JavaScript 1.3: возвращает массив, содержащий удалённые элементы.
Версия ECMAECMA-262 Edition 3
Синтаксис
splice(index, howMany, [element1][, ..., elementN])
Параметры
index |
Индекс, с которого начинается изменение массива.
howManyЦелое число, обозначающее количество удаляемых старых элементов массива. Если howMany
равно 0, никакие элементы не удаляются. В этом случае Вы должны специфицировать как минимум один новый элемент.
element1, ...,
elementN
Элементы, добавляемые к массиву. Если Вы не специфицировали никаких новых элементов, splice
только удаляет элементы из массива.
Описание
Если Вы специфицируете разное количество элементов для вставки и для удаления, массив в конце вызова будет иметь другой размер.
Метод splice возвращает массив, содержащий удалённые элементы. Если удалён только один элемент, возвращается массив из одного элемента.
JavaScript 1.2.
Метод splice возвращает удалённый элемент, если удаляется только один элемент (параметр howMany равен 1); иначе метод возвращает массив, содержащий удалённые элементы.
Примеры
Следующий скрипт иллюстрирует использование splice:
<SCRIPT LANGUAGE="JavaScript1.2">
myFish = ["angel", "clown", "mandarin", "surgeon"];
document.writeln("myFish: " + myFish + "<BR>");
removed = myFish.splice(2, 0, "drum");
document.writeln("После добавления 1: " + myFish);
document.writeln("удалён: " + removed + "<BR>");
removed = myFish.splice(3, 1)
document.writeln("После удаления 1: " + myFish);
document.writeln("удалён: " + removed + "<BR>");
removed = myFish.splice(2, 1, "trumpet")
document.writeln("После замещения 1: " + myFish);
document.writeln("удалён: " + removed + "<BR>");
removed = myFish.splice(0, 2, "parrot", "anemone", "blue")
document.writeln("После замещения 2: " + myFish);
document.writeln("удалён: " + removed);
</SCRIPT>
Этот скрипт выводит:
myFish: ["angel", "clown", "mandarin", "surgeon"]
После добавления 1: ["angel", "clown", "drum", "mandarin", "surgeon"]
удалён: undefined
После удаления 1: ["angel", "clown", "drum", "surgeon"]
удалён: mandarin
После замещения 1: ["angel", "clown", "trumpet", "surgeon"]
удалён: drum
После замещения 2: ["parrot", "anemone", "blue", "trumpet", "surgeon"]
удалён: ["angel", "clown"]