Heim >Web-Frontend >js-Tutorial >Wie sortiere ich JavaScript-Objekte nach Eigenschaftswerten?
Sortieren von Objekten nach Eigenschaftswerten
In JavaScript sind Objekte ungeordnete Sammlungen von Schlüssel-Wert-Paaren. Es kann jedoch Situationen geben, in denen wir Objekte nach den Werten ihrer Eigenschaften sortieren müssen. Dies kann erreicht werden, indem das Objekt in ein Array konvertiert, das Array nach Werten sortiert und dann das Objekt aus dem sortierten Array rekonstruiert wird.
Betrachten wir das bereitgestellte Beispiel:
var list = { "you": 100, "me": 75, "foo": 116, "bar": 15 };
Zu Sortieren Sie die Eigenschaften der Liste anhand ihrer Werte. Wir können Folgendes tun:
let sortable = []; for (let property in list) { sortable.push([property, list[property]]); } sortable.sort((a, b) => a[1] - b[1]); // [["bar", 15], ["me", 75], ["you", 100], ["foo", 116]]
Dadurch wird ein sortierbares Array erstellt, das Unterarrays von enthält Eigenschafts-Wert-Paare, die dann basierend auf den Werten in aufsteigender Reihenfolge sortiert werden. Jetzt können wir das Objekt in der sortierten Reihenfolge rekonstruieren:
let objSorted = {}; sortable.forEach(item => { objSorted[item[0]] = item[1]; });
Dadurch erhalten wir das sortierte Objekt:
objSorted = { "bar": 15, "me": 75, "you": 100, "foo": 116 };
In ES8 und höher können wir diesen Prozess mit Object vereinfachen. Einträge():
const maxSpeed = { car: 300, bike: 60, motorbike: 200, airplane: 1000, helicopter: 400, rocket: 8 * 60 * 60 }; const sortable = Object.entries(maxSpeed) .sort(([,a],[,b]) => a-b) .reduce((r, [k, v]) => ({ ...r, [k]: v }), {}); console.log(sortable);
Dies gibt das sortierte Array von Eigenschafts-Wert-Paaren als zurück Objekt.
Es ist wichtig zu beachten, dass das Sortieren von Objekten nach Eigenschaftswerten zwar möglich ist, dies jedoch auf einer Implementierungseigenschaft in JavaScript beruht und in Zukunft möglicherweise nicht mehr funktioniert. Es wird empfohlen, keine Annahmen über die Reihenfolge von Elementen in JavaScript-Objekten zu treffen.
Das obige ist der detaillierte Inhalt vonWie sortiere ich JavaScript-Objekte nach Eigenschaftswerten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!