Ed eccoci alla classica domanda che inevitabilmente tutti ci poniamo!
Come si fa a togliere un elemento da un array in javascript?
Beh, per toglierlo dall’inizio o dalla fine si possono usare i semplici .pop() (per togliere l’ultimo) e .shift() (per togliere il primo).
Ma come fare per togliere un elemento all’interno?
Purtroppo non esiste una funzione di sistema che lo faccia, quindi dovremmo crearcela noi 🙂
Innanzi tutto vediamo come togliere un elemento da un array. Clicca qui per eseguire il codice sottostante.
var ar = ['a','b','c','d','e']; // Il nostro array
alert('Il nostro array iniziale:' + new String(ar));
var el = ar.splice(3,1); // Togliamo l'elemento alla posizione 3
alert('Il nostro elemento rimosso: '+ el);
alert('Il nostro array finale: ' + new String(ar) );
Ora sappiamo come togliere un elemento e sostituirlo, quindi creiamo una funzione prototype all’oggetto Array che tolga l’elemento alla posizione pos e lo restiuisca:
Array.prototype.removePos = function(pos) {
var el = this.splice(3,pos);
return el
};
// Esempio di utilizzo:
var ar = ['a','b','c','d','e'];
var el = ar.removePos(3); // Ora el conterrà 'e' e ar sarà ['a','b','c','e']
Se invece vogliamo ricercare un elemento el e toglierlo la funzione sarà la seguente:
Array.prototype.removeEl = function(el) {
this.splice(array.indexOf(el), 1);
};
// Esempio di utilizzo:
var ar = ['a','b','c','d','e'];
ar.removeEl('c'); // Ora ar sarà ['a','b','d','e']
Tutto qui 🙂