We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

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 Latest Draft (ECMA-262)
The definition of 'Array.prototype.splice' in that specification.
Draft  

Compatibilità con i Browser

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

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,