EDYCJA: Sprawdź odpowiedź Andy'ego ponieważ jego odpowiedź była pierwsza i jest to wyłącznie jego rozszerzenie
Wiem, że to stare pytanie, ale myślę, że warto je uwzględnić Array.prototype.sort() .
Oto przykład z MDN wraz z linkiem
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]
Na szczęście działa nie tylko z liczbami:
arr.sort([compareFunction])
compareFunction
Określa funkcję, która definiuje porządek sortowania. W przypadku pominięcia tablica jest sortowana zgodnie z wartością punktu kodowego Unicode każdego znaku, zgodnie z konwersją ciągów każdego elementu.
Zauważyłem, że zamawiasz je po imieniu:
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;
});
zwróć uwagę, że jeśli chcesz zamówić je według nazwiska, musisz mieć klucz do obu first_name& last_namelub użyć magii wyrażeń regularnych, czego nie mogę zrobić XD
Mam nadzieję, że to pomoże :)