Aggiungere e Rimuovere Elementi dagli Array in Javascript
- In JavaScript, possiamo aggiungere elementi a un array usando l'operatore di assegnazione o i metodi
push()
eunshift()
. - Per rimuovere elementi, possiamo usare
delete
, modificare la proprietàlength
, o utilizzare il metodosplice()
. - L'operatore
delete
non altera la lunghezza dell'array e può creare array sparsi.
Aggiungere e Rimuovere Elementi dagli Array
Abbiamo già visto il modo più semplice per aggiungere elementi a un array: assegnare semplicemente valori a nuovi indici.
Ad esempio:
// Iniziamo con un array vuoto.
let a = [];
// Aggiungiamo un elemento all'indice 0.
a[0] = "zero";
// Aggiungiamo un altro elemento all'indice 1.
a[1] = "uno";
Possiamo anche usare il metodo push()
per aggiungere uno o più valori alla fine di un array:
// Iniziamo con un array vuoto
let a = [];
// Aggiungiamo un valore alla fine: "zero"
a.push("zero");
// Aggiungiamo altri due valori: "uno" e "due"
a.push("uno", "due");
// Il risultato è un array con tre elementi.
console.log(a); // => ["zero", "uno", "due"]
Aggiungere un valore a un array a
è equivalente ad assegnare il valore a a[a.length]
.
Possiamo usare il metodo unshift()
(che studieremo nelle prossime lezioni) per inserire un valore all'inizio di un array, spostando gli elementi esistenti dell'array a indici più alti. Il metodo pop()
è l'opposto di push()
: rimuove l'ultimo elemento dell'array e lo restituisce, riducendo la lunghezza di un array di 1. Similmente, il metodo shift()
rimuove e restituisce il primo elemento dell'array, riducendo la lunghezza di 1 e spostando tutti gli elementi verso il basso a un indice inferiore di uno rispetto al loro indice attuale. Studieremo questi metodi in dettaglio nelle prossime lezioni.
Possiamo eliminare elementi dell'array con l'operatore delete
, proprio come possiamo eliminare proprietà degli oggetti:
// Iniziamo con un array di 3 elementi.
let a = [1,2,3];
// Eliminiamo l'elemento all'indice 2.
delete a[2];
// a è ora sparso, con un elemento all'indice 0 e 1, ma nessun elemento all'indice 2.
console.log(2 in a); // => false: nessun indice dell'array 2 è definito
console.log(a.length); // => 3: delete non influisce sulla lunghezza dell'array
Eliminare un elemento dell'array è simile a (ma sottilmente diverso da) assegnare undefined
a quell'elemento. Notiamo che usare delete
su un elemento dell'array non altera la proprietà length
e non sposta gli elementi con indici più alti verso il basso per riempire il vuoto che viene lasciato dalla proprietà eliminata. Se eliminiamo un elemento da un array, l'array diventa sparso.
Come abbiamo visto sopra, possiamo anche rimuovere elementi dalla fine di un array semplicemente impostando la proprietà length
alla nuova lunghezza desiderata.
Infine, splice()
è il metodo generico per inserire, eliminare o sostituire elementi dell'array. Altera la proprietà length
e sposta gli elementi dell'array a indici più alti o più bassi secondo necessità. Anche questo metodo verrà approfondito nelle prossime lezioni.