L'array di oggetti è l'array in cui ogni membro di un array è un oggetto (coppia di valore chiave). A volte, gli sviluppatori devono separare le informazioni delle stesse categorie dai dati e creare gruppi per categoria, in modo che possano creare facilmente sezioni separate del sito Web per ciascuna categoria, rendendo più facile per gli utenti trovare i prodotti che stanno cercando.
Questo tutorial definirà il metodo efficiente o migliore per raggruppare una serie di oggetti in JavaScript.
Qual è il metodo/approccio più efficiente/migliore a GroupBy su una serie di oggetti?
L'approccio migliore/efficiente per raggruppare una serie di oggetti è utilizzare il “ridurre()" metodo. Questo metodo esegue la funzione di riduttore fornito per ciascun elemento array e genera un singolo valore di output.
Sintassi
Utilizzare la sintassi fornita per l'utilizzo di "ridurre()" metodo:
ridotta ((accumulator, currentValue) =>Esempio
Crea una matrice di oggetti chiamati "Arrobj"Con due proprietà"nome" E "tipo":
const arrobj = [Chiama il metodo di riduzione () con la funzione di callback che ha raggruppato l'array di un oggetto in base alla proprietà "tipo". Innanzitutto, itera l'array su ogni elemento e controlla il tipo. Se un array è già presente per la chiave nella funzione di callback, spingerlo verso l'array. Altrimenti, crea un nuovo array vuoto e spingi l'oggetto:
const groupByType = arrobj.ridotta ((gruppo, array) =>Stampa le matrici raggruppate risultanti in base al tipo sulla console:
console.log (GroupByType);Dopo aver eseguito il codice sopra, l'output mostrerà tre gruppi "verdure "," frutta "e" carne":
Si tratta di raggruppare l'array di oggetti.
Conclusione
L'approccio efficiente/migliore per raggruppare una serie di oggetti è il "ridurre()" metodo. Esegue la funzione riduttore per ciascun elemento array e genera un singolo valore di output. Il raggruppamento di un array di oggetti dipende dalla dimensione dell'array. Questo articolo ha definito l'approccio migliore per raggruppare una serie di oggetti in JavaScript.