Heim >Web-Frontend >js-Tutorial >Wie sortiere ich Objekte mithilfe eines Schlüssels nach Datumswert?

Wie sortiere ich Objekte mithilfe eines Schlüssels nach Datumswert?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 21:41:30818Durchsuche

How to Sort Objects by Date Value Using a Key?

Sortieren von Objekten nach Datumswert mithilfe eines Schlüssels

Um ein Array von Objekten effizient nach einem einzelnen Schlüssel mit einem Datumswert zu sortieren, z „updated_at“ können Sie die integrierte Array.sort-Methode verwenden. Betrachten Sie das folgende Array:

[
    {
        "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 in aufsteigender Reihenfolge nach „updated_at“ zu sortieren, können Sie die folgende benutzerdefinierte Komparatorfunktion mit der Sortiermethode verwenden:

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);
  if (keyA < keyB) return -1;
  if (keyA > keyB) return 1;
  return 0;
});

console.log(arr);

In diesem Mit der Komparatorfunktion konvertieren wir die „updated_at“-Werte mithilfe des Date()-Konstruktors in Date-Objekte (keyA und keyB). Anschließend vergleichen wir diese Datumsobjekte mithilfe von Vergleichsoperatoren (<, > und ==). Wenn keyA vor keyB liegt, gibt die Funktion -1 zurück, was darauf hinweist, dass die Objekte im Array ausgetauscht werden müssen. Wenn keyA später als keyB ist, gibt die Funktion 1 zurück und stellt so sicher, dass keyA nach keyB im sortierten Array erscheint. Der Rückgabewert 0 gibt an, dass sich die Objekte an derselben Position befinden und kein Austausch erforderlich ist.

Diese Sortiertechnik sortiert die Objekte effizient nach ihren „updated_at“-Datumswerten in aufsteigender Reihenfolge. Sie können die Vergleichsoperatoren ändern, um unterschiedliche Sortierreihenfolgen zu erreichen, beispielsweise eine absteigende Reihenfolge.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Objekte mithilfe eines Schlüssels nach Datumswert?. 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