--- title: Array.prototype.splice() slug: Web/JavaScript/Reference/Global_Objects/Array/splice tags: - Aggiunta - Array - JavaScript - Method - Prototype - Reference - Rimozione - splice translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice ---
Il metodo splice()
modifica il contenuto di un array rimuovendo o sostituendo elementi esistenti e/o aggiungendo nuovi elementi in place.
var arrDeletedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
start
start
sarà impostato sulla lunghezza dell'array. Se negativo, inizierà molti elementi dalla fine dell'array (con origine -1, che significa -n è l'indice dell'ultimo elemento dell'ennesima ed è quindi equivalente all'indice di array.length - n
). Se il valore assoluto di start
è maggiore della lunghezza dell'array, inizierà dall'indice 0.deleteCount
{{optional_inline}}start
.deleteCount
viene omesso, o se il suo valore è uguale o maggiore di array.length - start
(cioè, se è uguale o maggiore del numero di elementi rimasti nell'array, a partire da start
), tutti gli elementi da start
alla fine dell'array verranno eliminati.deleteCount
è 0 o negativo, non vengono rimossi elementi. In questo caso, devi specificare almeno un nuovo elemento (vedi sotto).item1, item2, ...
{{optional_inline}}start
. Se non viene specificato alcun elemento, splice()
rimuoverà solo gli elementi dall'array.Un array contenente gli elementi eliminati. Se viene rimosso solo un elemento, viene restituito un array di un elemento. Se non vengono rimossi elementi, viene restituito un array vuoto.
Se il numero specificato di elementi da inserire differisce dal numero di elementi da rimuovere, la lunghezza dell'array sarà diversa alla fine della chiamata.
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var removed = myFish.splice(2, 0, 'drum'); // myFish è ["angel", "clown", "drum", "mandarin", "sturgeon"] // removed è [], nessun elemento rimosso
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var removed = myFish.splice(2, 0, 'drum', 'guitar'); // myFish è ["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"] // removed è [], nessun elemento rimosso
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 è ["mandarin"]
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; var removed = myFish.splice(2); // myFish è ["angel", "clown"] // removed è ["mandarin", "sturgeon"]
Specifica | Stato | Commento |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Definizione iniziale Implementato in 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')}} |
{{Compat("javascript.builtins.Array.splice")}}