MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Il metodo splice() cambia il contenuto di un array rimuovendo elementi esistenti e/o aggiungendo nuovi elementi.

var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];

myFish.splice(2, 0, 'drum'); // inserisce 'drum' alla posizione con indice 2
// myFish diventa ["angel", "clown", "drum", "mandarin", "sturgeon"]

myFish.splice(2, 1); // rimuove 1 elemento alla posizione 2 dell'array (ovvero "drum")
// myFish diventa ["angel", "clown", "mandarin", "sturgeon"]

Sintassi

array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, ...)

Parametri

start
Indice dal quale iniziare il cambiamento dell'array (con origine 0). Se è più grande della lunghezza dell'array, l'indice verrà impostato alla lunghezza dell'array. Se negativo, inizierà da tot elementi dalla fine dell'array (con origine 1).
deleteCount Optional
Un intero che indica il numero degli elementi da rimuovere dall'array. Se deleteCount è pari a 0, nessun elemento sarà rimosso. In questo caso, bisognerebbe specificare almeno un nuovo elemento da aggiungere. Se deleteCount è più grande del numero di elementi nell'array a partire dall'indice start, allora tutti gli elementi fino alla fine dell'array (a partire dall'indice start) saranno rimossi.
Se deleteCount viene omesso, deleteCount sarà uguale a (array.length - start), i.e., tutti gli elementi a partire dall'indice start fino alla fine dell'array saranno rimossi.
item1, item2, ... Optional
Gli elementi da aggiungere all'array, iniziando dall'indice start. Se non viene specificato allora il metodo splice() rimuoverà elementi, senza aggiungerne.

Valore di ritorno

Un array contenente gli elementi rimossi. Se viene rimosso solo un elemento, verrà ritornato un array da un solo elemento. Se nessun elemento viene rimosso, verrà ritornato un array vuoto.

Descrizione

Se viene specificato un numero differente di elementi da inserire rispetto a quelli da rimuovere, l'array cambierà la sua dimensione dopo la chiamata del metodo.

Esempi

Rimuove 0 elementi dall'indice 2, e inserisce "drum"

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

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

Rimuove 1 elemento dall'indice 3

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

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

Rimuove 1 elemento dall'indice 2, e inserisce "trumpet"

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

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

Rimuove 2 elementi dall'indice 0, e inserisce "parrot", "anemone" e "blue"

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

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

Rimuove 2 elementi dall'indice 2

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

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

Rimuove 1 elemento dall'indice -2

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

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

Rimuove tutti gli elementi dall'indice 2 (incluso)

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

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

Specifiche

Specifica Stato Commenti
ECMAScript 3rd Edition (ECMA-262) Standard Definizione iniziale. Implementato in JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'Array.prototype.splice' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Array.prototype.splice' in that specification.
Standard  
ECMAScript 2017 Draft (ECMA-262)
The definition of 'Array.prototype.splice' in that specification.
Draft  

Compatibilità con i Browser

Feature Chrome Firefox (Gecko) Edge Internet Explorer Opera Safari
Basic support 1.0 1.0 (1.7 or earlier) (Yes) 5.5 (Yes) (Yes)
Feature Android Chrome per Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Vedi anche

  • push() / pop() — aggiunge/rimuove elementi dalla fine dell'array
  • unshift() / shift() — aggiunge /rimuove elementi dall'inizio dell'array
  • concat() — ritorna un nuovo array composto dall'unione di questo array e di altri array e/o valori

Tag del documento e collaboratori

 Hanno collaborato alla realizzazione di questa pagina: V1LL0
 Ultima modifica di: V1LL0,