Heim >Web-Frontend >js-Tutorial >Wie sortiere ich ein Array von Objekten nach einem einzelnen Datumsschlüssel?

Wie sortiere ich ein Array von Objekten nach einem einzelnen Datumsschlüssel?

DDD
DDDOriginal
2024-11-04 02:41:02562Durchsuche

How to Sort an Array of Objects by a Single Date Key?

Sortieren eines Arrays von Objekten nach einem einzelnen Datumsschlüssel

Um ein Array von Objekten nach einem einzelnen Schlüssel zu sortieren, der einen Datumswert enthält, Der effizienteste Ansatz ist die Verwendung der Array.sort-Methode. So können Sie es machen:

var arr = [{
    "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"
  }
];

arr.sort(function(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;
});

console.log(arr);

In diesem Beispiel haben wir ein Array von Objekten mit dem Namen „arr“, das drei Objekte enthält, jedes mit einem „updated_at“-Schlüssel, der einen Datumswert enthält.

Die Array.sort-Methode verwendet eine Vergleichsfunktion als Argument. In der bereitgestellten Vergleichsfunktion:

  1. Wir extrahieren die „updated_at“-Werte aus jedem Objekt als Datumsobjekte.
  2. Wir vergleichen die beiden Datumsobjekte. Wenn der erste vor dem zweiten liegt, geben wir -1 zurück. Wenn es später ist, geben wir 1 zurück. Wenn sie gleich sind, geben wir 0 zurück.
  3. Diese Vergleichsfunktion sortiert das Array in aufsteigender Reihenfolge basierend auf den „updated_at“-Werten.

Die Das sortierte Array wird dann in der Konsole protokolliert und zeigt die Objekte in chronologischer Reihenfolge an.

Das obige ist der detaillierte Inhalt vonWie sortiere ich ein Array von Objekten nach einem einzelnen Datumsschlüssel?. 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