--- 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 ---
{{JSRef}}

Il metodo splice() modifica il contenuto di un array rimuovendo o sostituendo elementi esistenti e/o aggiungendo nuovi elementi in place.

{{EmbedInteractiveExample("pages/js/array-splice.html")}}

Sintassi

var arrDeletedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

Parametri

start
L'indice al quale iniziare a cambiare l'array. Se maggiore della lunghezza dell'array, 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}}
Un numero intero che indica il numero di elementi nell'array da rimuovere da start.
Se 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.
Se deleteCount è 0 o negativo, non vengono rimossi elementi. In questo caso, devi specificare almeno un nuovo elemento (vedi sotto).
item1, item2, ... {{optional_inline}}
Gli elementi da aggiungere all'array, a partire da start. Se non viene specificato alcun elemento, splice() rimuoverà solo gli elementi dall'array.

Valore di ritorno

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.

Descrizione

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.

Esempi

Rimuovi 0 (zero) elementi dall'indice 2 e inserisci "drum"

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum');

// myFish è ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed è [], nessun elemento rimosso

Rimuovi 0 (zero) elementi dall'indice 2 e inserisci "drum" e "guitar"

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

Rimuovi 1 elemento dall'indice 3

var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);

// removed è ["mandarin"]
// myFish è ["angel", "clown", "drum", "sturgeon"]

Rimuovi 1 elemento dall'indice 2 e inserisci "trumpet"

var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
var removed = myFish.splice(2, 1, 'trumpet');

// myFish è ["angel", "clown", "trumpet", "sturgeon"]
// removed è ["drum"]

Rimuovere 2 elementi dall'indice 0 e inserire "parrot", "anemone" e "blue"

var myFish = ['angel', 'clown', 'trumpet', 'sturgeon'];
var removed = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');

// myFish è ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed è ["angel", "clown"]

Rimuovere 2 elementi dall'indice 2

var myFish = ['parrot', 'anemone', 'blue', 'trumpet', 'sturgeon'];
var removed = myFish.splice(myFish.length - 3, 2);

// myFish è ["parrot", "anemone", "sturgeon"]
// removed è ["blue", "trumpet"]

Rimuovere 1 elemento dall'indice -2

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(-2, 1);

// myFish è ["angel", "clown", "sturgeon"]
// removed è ["mandarin"]

Rimuovere tutti gli elementi dopo l'indice 2 (incl.)

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2);

// myFish è ["angel", "clown"]
// removed è ["mandarin", "sturgeon"]

Specifiche

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')}}

Compatibilità con i browser

{{Compat("javascript.builtins.Array.splice")}}

Vedi anche