Come rimuovere elementi da un array in JavaScript

di Lorenzo Neri
0 commento 115 visualizzazioni

Gli array in JavaScript possono essere trattati in modi differenti e vengono considerati a tutti gli effetti degli iterabili.

Abbiamo un sacco di metodi a nostra disposizione per poterci operare, ma fra tutti manca un metodo essenziale, qualcosa come Array.remove. In questo articolo ti racconto come rimuovere elementi da un array in JavaScript attraverso diversi metodi!

Come rimuovere elementi dalla prima posizione di un array in JavaScript

Se il tuo obiettivo è rimuovere gli elementi dalla prima posizione, non puoi non utilizzare il metodo shift.

Funziona un po’ come se l’array si trasformasse per magia in uno stack: elimina l’elemento in cima! … Detto meglio, quello alla posizione zero!

var vettore=[‘uno’,’due’,’tre’,’quattro’];
vettore.shift();
console.log(vettore); => [’due’,’tre’,’quattro’];

Come rimuovere elementi dall’ultima posizione di un array in JavaScript

Avete presente il discorso che abbiamo appena fatto cercando di immaginarci l’array come se fosse uno stack?

A questo giro, immaginiamolo come una coda: il primo arrivato è il primo ad andarsene!

Dobbiamo usare il metodo pop:

var vettore=[‘uno’,’due’,’tre’,’quattro’];
vettore.pop();
console.log(vettore); => [‘uno’,’due’,’tre’];

Come rimuovere elementi dall’ultima posizione di un array in JavaScript: la vendetta insolita

Riprendiamo il nostro vettore:

var vettore=[‘uno’,’due’,’tre’,’quattro’];

Se ti dicessi di fare:

vettore.length=3;

Scopri un po’ cosa succede 😉

Come rimuovere elementi nel mezzo di un array in JavaScript

Abbiamo visto le due strade facili, vediamone una più interessante:

var vettore=[1,2,3,4,5,6,7,8,9];

Il nostro obiettivo è rimuovere il terzo e il quarto elemento, quindi rispettivamente il “3” e il “4”.

Viene in nostro aiuto il metodo splice:

var elementiRimossi=vettore.splice(2,2);

Come funziona il metodo splice in JavaScript

Se hai un vettore e vuoi togliere determinati elementi nel mezzo, dovrai passargli come primo argomento la posizione da cui partire (ricordati che i vettori in JavaScript partono dalla posizione “0” :P), come secondo argomento il numero di elementi che intendi togliere (incluso il primo!).

La cosa bella di questo metodo, come avrai notato dal nome autoesplicativo della variabile, è che gli elementi rimossi li puoi memorizzare in un’altra variabile come controprova per vedere se hai fatto tutto giusto 😀

Come rimuovere elementi in un array in JavaScript SENZA RICORDARTI O SAPERE LA LORO POSIZIONE


Ammettiamo che tu non abbia mai saputo o ti sia scordato in che posizione si trova l’elemento che intendi eliminare.

Eppure lo sai QUALE vuoi eliminare!

…Non ti scatta nulla? 🙂

Sai il valore.

Facciamo finta per il momento che il vettore interessato sia questo: 

var vettore=[1,2,3,4,5,6,7,8,9];

E tu voglia eliminare il numero “5”.

Come facciamo?

for( var i = 0; i < arr.length; i++){ 
   if ( arr[i] === 5) {
     arr.splice(i, 1); 
   }
}

In questo modo, la splice agisce solo su un elemento alla data posizione. La data posizione è ovviamente quella dell’elemento che vuoi eliminare 🙂

Come rimuovere elementi da un array in JavaScript usando la filter

La filter è un metodo molto molto comodo e anche molto polimorfo: possiamo dirgli noi quale funzione di filtraggio usare.

Non solo: possiamo anche crearla noi.

Riprendiamo il vettore di prima:

var vettore=[1,2,3,4,5,6,7,8,9];

E immaginiamo di voler lasciare solo i valori superiori al “4”.

var filtrato= vettore.filter(function(valore, indice,vett){
	return valore >4;
	});

La filter ha un unico problema: se ci fai caso, bisogna usare una seconda variabile.

Ebbene sì, il problema della filter è proprio questo: crea una variabile ex novo.

Ma direi che se hai letto l’articolo fino a questo punto non è assolutamente un problema per te 😉

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più