ホームページ >ウェブフロントエンド >jsチュートリアル >オブジェクトの配列を単一の日付キーで並べ替えるにはどうすればよいですか?

オブジェクトの配列を単一の日付キーで並べ替えるにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-04 02:41:02563ブラウズ

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

単一の日付キーによるオブジェクトの配列の並べ替え

日付値を含む単一のキーによってオブジェクトの配列を並べ替えるには、次のようにします。最も効率的なアプローチは、Array.sort メソッドを利用することです。その方法は次のとおりです:

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

この例では、3 つのオブジェクトを含む「arr」という名前のオブジェクトの配列があり、各オブジェクトには日付値を保持する「updated_at」キーがあります。

Array.sort メソッドは比較関数を引数として受け取ります。提供されている比較関数では:

  1. 各オブジェクトから「updated_at」値を Date オブジェクトとして抽出します。
  2. 2 つの Date オブジェクトを比較します。最初のものが 2 番目のものよりも早い場合は、-1 を返します。それより遅い場合は 1 を返します。等しい場合は 0 を返します。
  3. この比較関数は、「updated_at」値に基づいて配列を昇順に並べ替えます。

ソートされた配列はコンソールに記録され、オブジェクトが時系列順に表示されます。

以上がオブジェクトの配列を単一の日付キーで並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。