Heim > Web-Frontend > js-Tutorial > Wie kann ich JavaScript-Objekteigenschaften nach ihren Werten sortieren?

Wie kann ich JavaScript-Objekteigenschaften nach ihren Werten sortieren?

Susan Sarandon
Freigeben: 2024-12-25 16:09:24
Original
360 Leute haben es durchsucht

How Can I Sort JavaScript Object Properties by Their Values?

Sortieren von Objekteigenschaften nach Werten

Das Sortieren der Eigenschaften eines Objekts basierend auf ihren Werten in JavaScript kann durch eine raffinierte Problemumgehung erreicht werden. Anstatt uns auf die umsetzungsabhängige Reihenfolge der Objekteigenschaften zu verlassen, können wir sie in ein Array konvertieren, das Array sortieren und das Objekt neu erstellen.

Um dies zu erreichen, verschieben wir die Objekteigenschaften mithilfe von a in ein Array Schleife:

let sortable = [];
for (var vehicle in maxSpeed) {
    sortable.push([vehicle, maxSpeed[vehicle]]);
}
Nach dem Login kopieren

Sobald wir in Array-Form sind, können wir die Sortierfunktion verwenden, um die Elemente nach Wert zu sortieren:

sortable.sort(function(a, b) {
    return a[1] - b[1];
});
Nach dem Login kopieren

Dies ergibt ein Array in sortierter Reihenfolge:

// [["bike", 60], ["motorbike", 200], ["car", 300],
// ["helicopter", 400], ["airplane", 1000], ["rocket", 28800]]
Nach dem Login kopieren

Aus dem sortierten Array können wir das Objekt unter Beibehaltung der gewünschten Reihenfolge rekonstruieren:

let objSorted = {}
sortable.forEach(function(item){
    objSorted[item[0]]=item[1]
})
Nach dem Login kopieren

Alternativ können wir das Objekt verwenden, wenn ES8 verfügbar ist .entries und Reduce-Methoden, um das Objekt in ein Array umzuwandeln:

const sortable = Object.entries(maxSpeed)
    .sort(([,a],[,b]) => a-b)
    .reduce((r, [k, v]) => ({ ...r, [k]: v }), {});
Nach dem Login kopieren

Dieser Ansatz bleibt aufgrund der Implementierung ein Workaround Macken, und man sollte es vermeiden, sich auf die Reihenfolge der Objekteigenschaften in JavaScript zu verlassen.

Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Objekteigenschaften nach ihren Werten sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage