--- title: Array.prototype.splice() slug: Web/JavaScript/Reference/Global_Objects/Array/splice tags: - Array - JavaScript - Масив - метод - прототип translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice ---
Метод splice()
змінює вміст масиву, видаляючи існуючі та/або додаючи нові елементи.
{{EmbedInteractiveExample("pages/js/array-splice.html")}}
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
var arrDeletedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
start
буде рівним довжині масиву. Якщо індекс від'ємний, позначатиме кількість елементів з кінця масиву (починаючи з -1, тобто -n означатиме індекс n-го елемента з кінця, і таким чином є еквівалентом array.length - n
). Якщо абсолютна величина start
є більшою за довжину масиву, зміни почнуться з індексу 0.deleteCount
{{optional_inline}}start
.deleteCount
не заданий, або його значення більше чи дорівнює arr.length - start
(тобто, більше чи дорівнює кількості елементів, які залишились у масиві, починаючи зі start
), тоді будуть видалені всі елементи, починаючи зі start
і до кінця масиву.deleteCount
рівний 0 або від'ємний, жоден елемент не буде видалений. У цьому випадку необхідно вказати хоча б один новий елемент для вставки (див. нижче).item1, item2, ...
{{optional_inline}}start
. Якщо не вказати жодного нового елемента, 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', 'mandarin', 'sturgeon']; var removed = myFish.splice(2, 0, 'drum', 'guitar'); // myFish дорівнює ["angel", "clown", "drum", "guitar", "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(2, 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 дорівнює ["mandarin"]
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2);
// myFish дорівнює ["angel", "clown"]
// removed дорівнює ["mandarin", "sturgeon"]
Специфікація | Статус | Коментар |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Початкове визначення. Реалізовано у 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')}} | |
{{SpecName('ESDraft', '#sec-array.prototype.splice', 'Array.prototype.splice')}} | {{Spec2('ESDraft')}} |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("javascript.builtins.Array.splice")}}