Heim >Web-Frontend >js-Tutorial >Wie sortiere ich Objekte nach Datumsschlüssel mit Array.sort()?

Wie sortiere ich Objekte nach Datumsschlüssel mit Array.sort()?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 21:53:02326Durchsuche

How to Sort Objects by Date Key Using Array.sort()?

Sortieren von Objekten nach Datumsschlüssel mit Array.sort

Das Sortieren eines Arrays von Objekten nach einem bestimmten Schlüssel ist eine häufige Aufgabe in JavaScript. Dies kann besonders nützlich sein, wenn es um Zeitstempel wie „updated_at“ geht.

Um dies zu erreichen, können wir die integrierte Methode Array.sort() verwenden. Diese Methode verwendet eine Vergleichsfunktion als Argument, die die Reihenfolge der Elemente im Array bestimmt.

Betrachten wir beispielsweise ein Array von Objekten mit einem „updated_at“-Schlüssel:

[
    {
        "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"
    }
]

Um diese Objekte basierend auf dem Schlüssel „updated_at“ zu sortieren, können wir die folgende Vergleichsfunktion verwenden:

function compare(a, b) {
  var keyA = new Date(a.updated_at),
    keyB = new Date(b.updated_at);
  // Compare the 2 dates
  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
}

Diese Funktion vergleicht die „updated_at“-Werte zweier Objekte und gibt ein negatives, positives oder zurück Nullwert basierend darauf, ob das erste Objekt früher, später oder zur gleichen Zeit wie das zweite Objekt liegt.

Durch Übergabe dieser Vergleichsfunktion an die Array.sort()-Methode können wir das Array von Objekten sortieren Aufsteigende Reihenfolge von „updated_at“:

arr.sort(compare);

Das resultierende sortierte Array enthält die Objekte vom frühesten zum neuesten „updated_at“-Wert.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Objekte nach Datumsschlüssel mit Array.sort()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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