0

Async.sortBy を使用して、オブジェクトの配列を日付プロパティで最新のものから古いものへと並べ替えようとしています。少しググると、コールバックで obj.date の代わりに obj.date * -1 を渡してソート順を逆にすることが示唆されていますが、これには意図した効果がありません。明らかに、その結​​果はただの NaN だからです。

私の日付は、例として今日の日付を使用して 2012-07-12 の形式になっています。

簡潔でコード サンプルがなくて申し訳ありません。現在、iPad で移動中です。

私が推測するソートの出力配列を逆にすることもできますが、それは特に良い解決策ではありません。

[{title: "title", date: "2012-07-12"}, {title: "title2", date: "2011-07-12"}]
4

1 に答える 1

0

この解決策はどうですか?

async.sortBy([{title: "title", date: "2012-07-12"}, {title: "title2", date: "2011-07-12"}], function(myObject, callback){
    return parseInt( myObject.date.split( '-' ).join(''), 10 ) * -1;
}, function(err, results){ ... });

in は、日付文字列をソート可能な整数に変換し、-1 を掛けて反転します。

于 2012-07-14T09:08:47.607 に答える