Arrays von Objekten nach mehreren Feldern sortieren
In der ursprünglichen Frage wurde das Sortieren eines Arrays von Objekten nach einem einzelnen Feld effizient gelöst. Wie können wir jedoch eine Sortierung auf mehrere Felder anwenden?
Um ein Array von Objekten nach mehreren Feldern zu sortieren, können wir einen verketteten Sortieransatz verwenden. Dabei wird nach dem ersten Feld sortiert und dann, wenn die Werte gleich sind, mit der Sortierung nach dem zweiten Feld fortgefahren. Bei Bedarf kann dieser Vorgang für weitere Felder wiederholt werden.
Betrachten Sie das folgende Beispiel, in dem wir eine Reihe von Häusern nach Stadt (aufsteigend) und dann nach Preis (absteigend) sortieren möchten:
var homes = [ {"h_id":"3", "city":"Dallas", "state":"TX", "zip":"75201", "price":"162500"}, {"h_id":"4", "city":"Bevery Hills", "state":"CA", "zip":"90210", "price":"319250"}, {"h_id":"6", "city":"Dallas", "state":"TX", "zip":"75000", "price":"556699"}, {"h_id":"5", "city":"New York", "state":"NY", "zip":"00010", "price":"962500"} ];
Um dieses Array zu sortieren, können wir den folgenden JavaScript-Code verwenden:
homes.sort(function (a, b) { return a.city.localeCompare(b.city) || b.price - a.price; });
So funktioniert dieser Code funktioniert:
Durch die Anwendung dieses Sortieransatzes auf mehrere Felder können wir komplexe Arrays von Objekten problemlos in der gewünschten Reihenfolge sortieren.
Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript ein Array von Objekten nach mehreren Feldern sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!