5

ajax クエリからニュース フィードを取得しました。このオブジェクトには、次の形式の日付があります。

Wed, 22 May 2013 08:00:00 GMT

すべてのオブジェクトを日付順に並べ替えたいと思います。Javascript を使用してこれを行うことは可能ですか?

アップデート

このコードを使用すると、正常に動作します!

array.sort(function(a,b){
var c = new Date(a.date);
var d = new Date(b.date);
return c-d;
});
4

3 に答える 3

10

1) オブジェクトを並べ替えることができません。オブジェクトのキーの順序は任意です。

2) 配列を日付でソートしたい場合 (そしてそれらは既に日付オブジェクトになっています)、次のようにします。

array.sort ( function (date1, date2){
     return date1 - date2
});

最初にそれらを日付オブジェクトに変換する必要がある場合は、次の手順を実行します (以下のコメントに従ってデータ構造に従います)。

array.sort ( function (a, b){
       return new Date(a.pubDate) - new Date(b.pubDate);
});

于 2013-05-22T11:07:34.793 に答える
5

アンダースコア/ロードダッシュの sortBy を使用することもできます

ここでは、アンダースコア js を使用して日付を並べ替えています。

 var log = [{date: '2016-01-16T05:23:38+00:00', other: 'sample'}, 
            {date: '2016-01-13T05:23:38+00:00',other: 'sample'}, 
            {date: '2016-01-15T11:23:38+00:00', other: 'sample'}];

  console.log(_.sortBy(log, 'date'));
于 2016-01-16T13:34:31.547 に答える