OK , wie Sie vielleicht wissen, hat Javascript die Funktion sort () , um Arrays zu sortieren, aber nichts für Objekte ...
In diesem Fall müssen wir also irgendwie ein Array der Schlüssel abrufen und sie sortieren. Dies ist der Grund, warum das Apis Ihnen die meiste Zeit Objekte in einem Array zur Verfügung stellt, da Array ohnehin mehr native Funktionen zum Spielen hat als Objektliteral. Die schnelle Lösung verwendet Object.key, das ein Array der Objektschlüssel zurückgibt. Ich erstelle die ES6- Funktion, die die Arbeit für Sie erledigt. Sie verwendet native Funktionen sort () und redu () in Javascript:
function sortObject(obj) {
return Object.keys(obj)
.sort().reduce((a, v) => {
a[v] = obj[v];
return a; }, {});
}
Und jetzt können Sie es so verwenden:
let myObject = {a: 1, c: 3, e: 5, b: 2, d: 4};
let sortedMyObject = sortObject(myObject);
Überprüfen Sie das sortierte MyObject und Sie können das Ergebnis nach Schlüsseln wie folgt sortiert sehen:
{a: 1, b: 2, c: 3, d: 4, e: 5}
Auch auf diese Weise wird das Hauptobjekt nicht berührt und wir erhalten tatsächlich ein neues Objekt.
Ich erstelle auch das Bild unten, um die Funktionsschritte klarer zu machen, falls Sie es ein wenig ändern müssen, um es auf Ihre Weise zu bearbeiten: