Come ordinare un array di oggetti in JavaScript

Ordinare un array di oggetti in JavaScript è una pratica comune quando si lavora con dati strutturati. La funzione sort() dell'oggetto Array permette di effettuare ordinamenti personalizzati tramite una funzione di confronto.

Utilizzo della funzione sort()

La funzione sort() ordina gli elementi di un array in ordine crescente o decrescente. Per ordinare un array di oggetti, è necessario fornire una funzione di confronto.

Esempio di ordinamento per proprietà numerica

const persone = [
  { nome: "Mario", età: 30 },
  { nome: "Anna", età: 25 },
  { nome: "Luca", età: 35 }
];

persone.sort((a, b) => a.età - b.età);

console.log(persone);

Questo codice ordina l'array in base all'età in ordine crescente.

Ordinamento per stringa

Se si desidera ordinare in base a una proprietà testuale, è possibile utilizzare il metodo localeCompare().

persone.sort((a, b) => a.nome.localeCompare(b.nome));

In questo caso, l'array sarà ordinato alfabeticamente in base al nome.

Ordinamento decrescente

Per ordinare in ordine decrescente, basta invertire l'operazione:

persone.sort((a, b) => b.età - a.età);

Oppure per stringhe:

persone.sort((a, b) => b.nome.localeCompare(a.nome));

Conclusione

Utilizzando sort() con una funzione di confronto, è possibile ordinare facilmente un array di oggetti in JavaScript in base a diverse proprietà. Questo è utile quando si lavora con dati provenienti da API o database.

Torna su