Sortieren von Objekten nach Eigenschaftswerten in JavaScript
Beim Umgang mit Arrays von Objekten kann das Sortieren nach bestimmten Eigenschaftswerten für die Verwaltung und Visualisierung von entscheidender Bedeutung sein Daten. Lassen Sie uns untersuchen, wie Sie diese Sortierfunktion mithilfe von JavaScript erreichen.
Frage:
Wie erstellen wir bei einem Array von Objekten, die Heimdaten darstellen, eine Funktion, um sie zu sortieren? ihre „Preis“-Eigenschaft entweder in aufsteigender oder absteigender Reihenfolge?
Objekte Array:
Betrachten Sie das folgende Homes-Array:
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": "5", "city": "New York", "state": "NY", "zip": "00010", "price": "962500" } ];
Sortierfunktionen:
Um das Homes-Array zu sortieren, können wir verwenden die integrierte sort()-Methode. Diese Methode erwartet als Argument eine Vergleichsfunktion. Die Vergleichsfunktion verwendet zwei Elemente als Eingabe und gibt eine negative Zahl zurück, wenn das erste Element vor dem zweiten stehen sollte, eine positive Zahl, wenn das zweite Element vor dem ersten stehen sollte, oder Null, wenn die Elemente als gleich angesehen werden.
Aufsteigende Reihenfolge:
Um die Häuser in aufsteigender Reihenfolge nach Preis zu sortieren, definieren wir eine Vergleichsfunktion, die den Preis des ersten Elements vom Preis des zweiten Elements subtrahiert und vergleicht den Unterschied. Wenn die Differenz negativ ist, bedeutet dies, dass der Preis des ersten Elements niedriger ist als der Preis des zweiten, und das erste Element sollte vor dem zweiten stehen.
homes.sort(function(a, b) { return parseFloat(a.price) - parseFloat(b.price); });
Oder in ES6-Syntax:
homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));
Absteigende Reihenfolge:
Für die absteigende Reihenfolge können wir die Vergleichsfunktion umkehren, indem wir den Preis subtrahieren zweites Element aus dem Preis des ersten Elements.
homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));
Ergebnis:
Nach der Sortierung wird das Häuser-Array basierend auf der angegebenen Reihenfolge sortiert. Sie können das geänderte Array ausdrucken, um die Sortierung zu überprüfen.
Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Array von JavaScript-Objekten nach einem bestimmten Eigenschaftswert (z. B. Preis)?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!