Come rimuovere un elemento dall’array in JavaScript?

C’è davvero un’alta probabilità che in un certo punto in passato hai digitato sopra la frase nel campo di ricerca di Google o Stack Overflow. Questo problema è così comune che è la domanda più votata sotto il tag javascript sullo Stack. Se è così popolare perché non dare un’occhiata più da vicino a quel problema?

Il problema di rimuovere l’elemento dall’array sembra onnipresente e quindi importante.

In JavaScript ci sono molti metodi nell’Array stesso, ma anche in altri oggetti standard., Tra questi metodi ce ne sono alcuni che possono aiutarci a risolvere il problema specificato. Significa che ci sono in realtà più risposte alla domanda dal titolo. Esaminiamo i più popolari.

Per rendere le soluzioni più comparabili caratterizzeremo ciascuna di esse utilizzando tre proprietà:

  • In-place — questo metodo modifica l’array originale? In caso contrario, restituisce l’array modificato (array senza elemento eliminato)
  • Rimuove i duplicati-questo metodo rimuove tutte le occorrenze dell’elemento specificato o solo il primo?,
  • Per valore / indice-questo metodo richiede di fornire il valore dell’elemento o il suo indice nell’array?

Per semplificare gli esempi assumeremo che tutti gli array contengano valori primitivi come i Numeri.

In questa sezione valuteremo gli approcci più comuni al problema in generale. In generale intendo rimuovere un elemento che non ha un posto speciale nell’array. Non è l’ultimo, il primo o l’unico. È solo Joe normale tra gli elementi di array.

Rimozione elemento per valore utilizzando .,splice ()

Il metodo Splice può essere utilizzato per eliminare un elemento all’indice noto. Se si conosce solo il valore, in primo luogo è necessario identificare l’indice della voce. Quindi utilizzare l’indice come elemento iniziale e rimuovere un solo elemento.

Rimuovi elemento utilizzando il metodo splice

le Proprietà della soluzione:

Proprietà di giunzione metodo di soluzione

la Rimozione dell’elemento di Matrice utilizzando .,filter() method

Specific element can be filtered out from array, by providing filtering function. Such function is then called for every element in array.

Remove element using filter method

Properties of the solution:

Properties of filter method solution

Removing Array element by extending Array.prototype

Prototype of Array can be extended with additional methods., Tali metodi saranno quindi disponibili per l’uso su array creati.
Nota: l’estensione di prototipi di oggetti dalla libreria standard di JS (come Array) è considerata da alcuni come antipattern.,

Rimuovi elemento estendendo Array prototipo

le Proprietà della soluzione:

Proprietà di estendere il prototipo di soluzione

la Rimozione dell’elemento di Matrice utilizzando l’operatore delete

Utilizzando l’operatore delete non influenza la lunghezza della proprietà. Né influisce sugli indici degli elementi successivi. L’elemento eliminato non viene rimosso ma diventa indefinito., The delete operator is designed to remove properties from JavaScript objects, which arrays are objects.

Remove element using delete operator

Properties of the solution:

Properties of delete operator solution

Removing Array element using Object utilities (>= ES10)

ES10 introduced Object.,fromEntries, che può essere utilizzato per creare l’array desiderato da qualsiasi oggetto simile a un array e filtrare gli elementi indesiderati durante il processo.

Rimuovi elemento usando Object.,fromEntries

le Proprietà della soluzione:

Proprietà di fromEntries soluzione

casi Particolari

In questa sezione ci occuperemo di valutare tre casi speciali, nei termini di cui in array l’elemento specificato trova: all’inizio, alla fine o in entrambi i casi, cioè, è l’unico elemento dell’array.

Rimozione dell’elemento se si trova alla fine dell’Array..

..,modificando la lunghezza dell’array:

Gli elementi dell’array JavaScript possono essere rimossi dalla fine di un array impostando la proprietà length su un valore inferiore al valore corrente. Qualsiasi elemento il cui indice è maggiore o uguale alla nuova lunghezza verrà rimosso.

Rimuovere l’ultimo modificando la proprietà length

le Proprietà della soluzione:

Proprietà di modifica della lunghezza soluzione

..utilizzando .,metodo pop ():

Il metodo pop rimuove l’ultimo elemento dell’array, restituisce quell’elemento e aggiorna la proprietà length. Il metodo pop modifica l’array su cui viene invocato, Questo significa che a differenza dell’utilizzo di delete l’ultimo elemento viene rimosso completamente e la lunghezza dell’array ridotta.,

Rimuovere l’ultimo utilizzando il metodo pop

le Proprietà della soluzione:

Proprietà del pop metodo di soluzione

Rimuovere l’elemento se è all’inizio dell’Array

L’ .il metodo shift () funziona molto come il metodo pop tranne che rimuove il primo elemento di un array JavaScript invece dell’ultimo. Quando l’elemento viene rimosso, gli elementi rimanenti vengono spostati verso il basso.,

Rimuovere prima, utilizzando il metodo di spostamento

le Proprietà della soluzione:

Proprietà del metodo di spostamento di soluzione

Rimuovere l’elemento se è l’unico elemento dell’Array

La tecnica più veloce è quello di impostare una variabile array un array vuoto.,

Rimuovere il solo elemento di creazione di nuovi array

le Proprietà della soluzione:

Proprietà di nuova creazione di array soluzione

in Alternativa, la tecnica da uno dei precedenti esempi possono essere utilizzati da regolare la lunghezza a 0.

Conclusione

JavaScript sta diventando sempre più adatto agli sviluppatori. Nuovi strumenti vengono aggiunti ad ogni rilascio., La conseguenza di ciò è che ci sono molti modi per gestire compiti semplici. Il problema di rimuovere l’elemento dall’array sembra onnipresente e quindi importante. Spero che tu abbia imparato qualcosa di nuovo leggendo questo articolo. Spero anche che ti incoraggi a studiare le cose semplici in JS, come qualcuno wise ha detto una volta:

Pratica te stesso, per l’amor del cielo nelle piccole cose, e poi procedi a una maggiore. – Epittetus

Una nota da JavaScript In inglese semplice: Siamo sempre interessati ad aiutare a promuovere contenuti di qualità., Se si dispone di un articolo che si desidera inviare a JavaScript In inglese chiaro, inviaci una e-mail a [email protected] con il tuo nome utente medio e ti faremo aggiungere come scrittore.

Author: admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *