首頁  >  文章  >  web前端  >  如何使用鍵按日期值對物件進行排序?

如何使用鍵按日期值對物件進行排序?

Susan Sarandon
Susan Sarandon原創
2024-11-02 21:41:30746瀏覽

How to Sort Objects by Date Value Using a Key?

使用鍵依日期值對物件進行排序

透過具有日期值的單一鍵對物件陣列進行有效排序,例如'updated_at ',您可以使用內建的Array.sort 方法。考慮以下數組:

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

要按「updated_at」升序對這些物件進行排序,您可以將以下自訂比較器函數與排序方法結合使用:

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);

在此比較器函數中,我們使用Date() 建構子將「updated_at」值轉換為Date 物件(keyA 和keyB)。然後,我們使用比較運算子( 和 ==)來比較這些 Date 物件。如果keyA早於keyB,函數傳回-1,表示需要交換陣列中的物件。如果 keyA 晚於 keyB,則函數傳回 1,確保 keyA 在排序數組中出現在 keyB 之後。傳回值 0 表示物件位於相同位置,不需要交換。

這種排序技術可以有效地依照物件的「updated_at」日期值升序對物件進行排序。您可以修改比較運算子來實現不同的排序順序,例如降序。

以上是如何使用鍵按日期值對物件進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn