Angenommen, Sie haben ein Array users
. Sie können verwenden users.sort
und eine Funktion übergeben, die zwei Argumente annimmt und sie vergleicht (Komparator)
Es sollte zurückgegeben werden
- etwas Negatives, wenn das erste Argument kleiner als das zweite ist (sollte vor dem zweiten im resultierenden Array platziert werden)
- etwas Positives, wenn das erste Argument größer ist (sollte nach dem zweiten platziert werden)
- 0, wenn diese beiden Elemente gleich sind.
In unserem Fall sind zwei Elemente a
y b
wir wollen vergleichen a.firstname
y b.firstname
Beispiel:
users.sort(function(a, b){
if(a.firstname < b.firstname) { return -1; }
if(a.firstname > b.firstname) { return 1; }
return 0;
})
Dieser Code funktioniert mit jedem Typ.
Beachten Sie, dass Sie im "wirklichen Leben"™ beim Vergleich von Zeichenketten oft die Groß- und Kleinschreibung, die korrekte Sortierung von diakritischen Zeichen, seltsame Symbole wie das ß usw. ignorieren wollen, so dass Sie vielleicht die localeCompare
. Siehe andere Antworten für mehr Klarheit.