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 machen:
<code class="javascript">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);</code>
In diesem Code konvertieren wir zuerst die „updated_at“-Strings für 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; Bei 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.
Das obige ist der detaillierte Inhalt vonWie kann ich mit JavaScript ein Array von Objekten nach einem Datumsschlüssel sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!