Come rimuovere un elemento da un array in JavaScript?

var arr = [1,2,3,5,6]; 

Voglio rimuovere il 1 ° elemento dell’array in modo che diventi:

 var arr = [2,3,5,6]; 

Per estendere questa domanda, cosa succede se voglio rimuovere il 2 ° elemento dell’array in modo che diventi:

 var arr = [1,3,5,6]; 

Per una soluzione più flessibile, utilizzare la funzione splice() . Ti consente di rimuovere qualsiasi elemento in una matrice in base al valore dell’indice:

 var indexToRemove = 0; var numberToRemove = 1; arr.splice(indexToRemove, numberToRemove); 

shift() è l’ideale per la tua situazione. shift() rimuove il primo elemento da una matrice e restituisce quell’elemento. Questo metodo modifica la lunghezza dell’array.

 array = [1, 2, 3, 4, 5]; array.shift(); // 1 array // [2, 3, 4, 5] 

Il metodo Array.prototype.shift rimuove il primo elemento da una matrice e lo restituisce. Modifica l’array originale.

 var a = [1,2,3] // [1,2,3] a.shift() // 1 a //[2,3] 
 arr.slice(begin[,end]) 

non è distruttivo, la giuntura e lo spostamento modificheranno la tua matrice originale

Ha scritto un piccolo articolo sull’inserimento e l’eliminazione di elementi in posizioni arbitrarie negli array Javascript.

Ecco il piccolo snippet per rimuovere un elemento da qualsiasi posizione. Questo estende la class Array in Javascript e aggiunge il metodo remove (index).

 // Remove element at the given index Array.prototype.remove = function(index) { this.splice(index, 1); } 

Quindi per rimuovere il primo elemento nell’esempio, chiama arr.remove ():

 var arr = [1,2,3,5,6]; arr.remove(0); 

Per rimuovere il secondo elemento,

 arr.remove(1); 

Ecco un piccolo articolo con i metodi insert ed delete per la class Array.

In sostanza questo non è diverso dalle altre risposte che usano lo splice, ma il nome splice non è intuitivo, e se si ha quella chiamata in tutta l’applicazione, rende solo più difficile leggere il codice.

Forse qualcosa del genere:

 arr=arr.slice(1); 

Se si desidera rimuovere uno o più elementi di una matrice dipende dal suo contenuto e / o dalla sua posizione .

Puoi usare la funzione js filter array.

https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/filter .

Rimuovi il primo elemento :

 // Not very useful but it works function removeFirst(element, index) { return index > 0; } var arr = [1,2,3,5,6].filter(removeFirst); // [2,3,4,5,6] 

Rimuovi il secondo elemento :

 function removeSecond(element, index) { return index != 1; } var arr = [1,2,3,5,6].filter(removeSecond); // [1,3,4,5,6] 

Rimuovi l’elemento dispari :

 function removeOdd(element, index) { return !(element % 2); } var arr = [1,2,3,5,6].filter(removeOdd); [2,4,6] 

È ansible utilizzare la funzione di assegnazione della distruzione ES6 con un operatore di rest. Una virgola indica dove si desidera rimuovere l’elemento e l’operatore resto (… arr) per fornire gli elementi rimanenti dell’array.

 const source = [1,2,3,5,6]; function removeFirst(list) { var [, ...arr] = source; return arr; } const arr = removeFirst(source); console.log(arr); // [2, 3, 5, 6] console.log(source); // [1, 2, 3, 5, 6] 

Array.splice() ha la proprietà interessante che non si può usare per rimuovere il primo elemento. Quindi, dobbiamo ricorrere a

 function removeAnElement( array, index ) { index--; if ( index === -1 ) { return array.shift(); } else { return array.splice( index, 1 ); } }