特定のキーによるオブジェクトの配列の並べ替えは、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 サイトの他の関連記事を参照してください。