EDIT: Per favore controlla la risposta di Andy poiché la sua risposta è arrivata prima e questa è solo un'estensione della sua
So che questa è una vecchia domanda, ma penso che valga la pena includerla Array.prototype.sort().
Ecco un esempio da MDN insieme al collegamento
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]
Fortunatamente non funziona solo con i numeri:
arr.sort([compareFunction])
compareFunction
Specifica una funzione che definisce l'ordinamento. Se omesso, l'array viene ordinato in base al valore del punto di codice Unicode di ciascun carattere, in base alla conversione di stringa di ciascun elemento.
Ho notato che li stai ordinando per nome:
let playlist = [
{artist:"Herbie Hancock", title:"Thrust"},
{artist:"Lalo Schifrin", title:"Shifting Gears"},
{artist:"Faze-O", title:"Riding High"}
];
// sort by name
playlist.sort((a, b) => {
if(a.artist < b.artist) { return -1; }
if(a.artist > b.artist) { return 1; }
// else names must be equal
return 0;
});
nota che se vuoi ordinarli per cognome dovresti avere una chiave per entrambi first_name & last_nameo fare un po 'di magia regex, cosa che non posso fare XD
Spero che aiuti :)