ホームページ >ウェブフロントエンド >jsチュートリアル >Array.sort() を使用してオブジェクトを日付キーで並べ替える方法

Array.sort() を使用してオブジェクトを日付キーで並べ替える方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-02 21:53:02328ブラウズ

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

Array.sort を使用した日付キーによるオブジェクトの並べ替え

特定のキーによるオブジェクトの配列の並べ替えは、JavaScript の一般的なタスクです。これは、「updated_at」のようなタイムスタンプを扱う場合に特に便利です。

これを実現するには、組み込みの Array.sort() メソッドを利用できます。このメソッドは引数として比較関数を受け取り、配列内の要素の順序を決定します。

たとえば、'updated_at' キーを持つオブジェクトの配列を考えてみましょう:

[
    {
        "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」キーに基づいてこれらのオブジェクトを並べ替えるには、次の比較関数を使用できます。

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

この関数は、2 つのオブジェクトの「updated_at」値を比較し、負、正、または最初のオブジェクトが 2 番目のオブジェクトより早いか、遅いか、または同じ時間であるかに基づいてゼロ値を返します。

この比較関数を Array.sort() メソッドに渡すことで、オブジェクトの配列を並べ替えることができます。 'updated_at' の昇順:

arr.sort(compare);

結果としてソートされた配列には、オブジェクトが最も古いものから最新の 'updated_at' 値まで配列されます。

以上がArray.sort() を使用してオブジェクトを日付キーで並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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