--- title: Array.prototype.splice() slug: Web/JavaScript/Reference/Global_Objects/Array/splice tags: - Array - JavaScript - Method - Prototype - Reference - Référence(2) translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice ---
Метод splice()
изменяет содержимое массива, удаляя существующие элементы и/или добавляя новые.
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
deleteCount
{{optional_inline}}deleteCount
равен 0, элементы не удаляются. В этом случае вы должны указать как минимум один новый элемент. Если deleteCount
больше количества элементов, оставшихся в массиве, начиная с индекса start
, то будут удалены все элементы до конца массива.itemN
{{optional_inline}}splice()
просто удалит элементы из массива.Массив, содержащий удалённые элементы. Если будет удалён только один элемент, вернётся массив из одного элемента. Если никакие элементы не будут удалены, вернётся пустой массив.
Если количество указанных вставляемых элементов будет отличным от количества удаляемых элементов, массив изменит длину после вызова.
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var removed = myFish.splice(2, 0, 'drum'); // myFish равен ["angel", "clown", "drum", "mandarin", "sturgeon"] // removed равен [], ничего не удалено
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon']; var removed = myFish.splice(3, 1); // removed равен ["mandarin"] // myFish равен ["angel", "clown", "drum", "sturgeon"]
var myFish = ['angel', 'clown', 'drum', 'sturgeon']; var removed = myFish.splice(2, 1, 'trumpet'); // myFish равен ["angel", "clown", "trumpet", "sturgeon"] // removed равен ["drum"]
var myFish = ['angel', 'clown', 'trumpet', 'sturgeon']; var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue'); // myFish равен ["parrot", "anemone", "blue", "trumpet", "sturgeon"] // removed равен ["angel", "clown"]
var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon']; var removed = myFish.splice(myFish.length - 3, 2); // myFish равен ["parrot", "anemone", "sturgeon"] // removed равен ["blue", "trumpet"]
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var removed = myFish.splice(-2, 1); // myFish равен ["angel", "clown", "sturgeon"] // removed равен s ["mandarin"]
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var removed = myFish.splice(2); // myFish равен ["angel", "clown"] // removed равен ["mandarin", "sturgeon"]
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 3-е издание. | Стандарт | Изначальное определение. Реализована в JavaScript 1.2. |
{{SpecName('ES5.1', '#sec-15.4.4.12', 'Array.prototype.splice')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-array.prototype.splice', 'Array.prototype.splice')}} | {{Spec2('ES6')}} |
{{Compat("javascript.builtins.Array.splice")}}
В JavaScript 1.2 метод splice()
возвращал удалённый элемент только если был удалён один элемент (параметр deleteCount
равен 1); в противном случае метод возвращал массив с удалёнными элементами. Обратите внимание, что последним браузером, использующим JavaScript 1.2, был Netscape Navigator 4, так что вы можете считать, что splice()
всегда возвращает массив.