Come rimuovere elementi da un array in JavaScript

di Lorenzo Neri
Published: Last Updated on

Se ti stai chiedendo come rimuovere elementi da un array in JavaScript sei nel posto giusto! In questo articolo ti mostrerò diversi modi per poterlo fare!

JavaScript a suo modo è molto strano, soprattutto i suoi metodi. Per essere più precisi, gli array vengono considerati a tutti gli effetti degli iterabili: prima di addentrarci in tutto questo, permettimi di raccontarti chi sono.

Il mio nome è Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Come rimuovere elementi da un array in JavaScript: cosa ci offre il linguaggio?

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. Considera anche questo: per “metodi” non intendo solo modalità, ma intendo proprio funzioni.

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.

Ma prima di tutto, devi sapere che questi metodi derivano dalla mia esperienza lavorativa e da ore e ore di smadonnamenti: per me è solo un piacere sapere che ti possano essere di aiuto.

E quale modo migliore di farmelo sapere, se non iscrivendoti alla mia newsletter per rimanere sempre aggiornato sui miei articoli?

Ciò detto, scopriamo assieme come possiamo rimuovere gli elementi da un array in JavaScript in base alle tue stesse necessità.

Stavamo parlando appunto, del metodo shift.

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

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

Immagino che non ti basti, vero? Andiamo oltre.

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

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

Se invece gli elementi che vuoi rimuovere non sono né alla prima posizione né in fondo, ma vuoi rimuovere gli elementi nel mezzo… Facciamo un esempio.

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 per rimuovere elementi da un array

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”), 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 :D

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, dunque se vuoi usare la filter avrai una variabile nuova rispetto al tuo array di partenza.

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

E direi anche, che se vuoi scoprire di più, ho creato una categoria intera di articoli legati a JavaScript: la trovi a distanza di un click qui.

Continua a scoprire di più con questi articoli!

2 commenti

Roberto Pollio 15/01/2023 - 19:32

Molto esaustivo. Grazie

Rispondi
Lorenzo Neri 16/01/2023 - 10:27

Buongiorno Roberto,

Grazie mille: mi fa piacere che ti sia stato utile :)

Un saluto,
Lorenzo

Rispondi

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ù