日付値を持つ単一のキーでオブジェクトの配列を並べ替える 質問する

日付値を持つ単一のキーでオブジェクトの配列を並べ替える 質問する

いくつかのキーと値のペアを持つオブジェクトの配列があり、それらを '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"
    }
]

最も効率的な方法は何でしょうか?

ベストアンサー1

使用できます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);

おすすめ記事