Sortieren eines Arrays von Objekten nach Datumsschlüssel mit JavaScript
Das Sortieren eines Arrays von Objekten basierend auf einem bestimmten Datumsschlüssel ist eine häufige Aufgabe in der JavaScript-Programmierung. In diesem Fall müssen wir ein Array von Objekten nach dem Schlüssel „updated_at“ sortieren, der ein Datum und eine Uhrzeit darstellt.
Der effizienteste Weg, dies zu erreichen, ist die Verwendung der Methode Array.sort() in Kombination mit einer Vergleichsfunktion. Die Vergleichsfunktion nimmt zwei Objekte als Eingabe und gibt einen Wert zurück, der die Reihenfolge der Objekte bestimmt.
So können Sie es tun:
const objects = [{
"updated_at": "2012-01-01T06:25:24Z",
"foo": "bar"
},
{
"updated_at": "2012-01-09T11:25:13Z",
"foo": "bar"
},
{
"updated_at": "2012-01-05T04:13:24Z",
"foo": "bar"
}];
// Convert the 'updated_at' strings to JavaScript Date objects
for (let i = 0; i < objects.length; i ) {
objects[i].updated_at = new Date(objects[i].updated_at);
}
// Sort the objects based on the 'updated_at' dates
objects.sort((a, b) => {
return a.updated_at - b.updated_at;
});
console.log(objects);
In diesem Code konvertieren wir zunächst die „updated_at“-Strings in JavaScript-Datumsobjekte, um konsistente Datentypen sicherzustellen. Dann verwenden wir die Methode sort() mit einer Vergleichsfunktion, die die „updated_at“-Werte zweier Objekte subtrahiert und das Ergebnis zurückgibt. Dieses Ergebnis bestimmt die Sortierreihenfolge: Ist das Ergebnis negativ, kommt das erste Objekt vor dem zweiten; wenn positiv, steht das zweite Objekt an erster Stelle; wenn Null, bleiben die Objekte in ihrer ursprünglichen Reihenfolge.
Das Endergebnis ist ein sortiertes Array von Objekten mit den Schlüsselwerten „updated_at“ in aufsteigender chronologischer Reihenfolge.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3