2

次のようなネストされた配列があります。

data = [
[Date.UTC(2013, 1, 1), 1],
[Date.UTC(2013, 1, 5), 22],
[Date.UTC(2013, 1, 2), 2],
[Date.UTC(2013, 1, 11), 33]
]

私はアンダースコアを使用しておりDate.UTC、配列が最初から最後まで、または最低から最高まで日付を表示するように並べ替える方法を見つけようとしていますか?

4

1 に答える 1

7

sortBy内部配列の最初の要素を選択する関数で使用できます。

並び替え _.sortBy(list, iterator, [context])

iteratorを介して各値を実行した結果によって昇順にランク付けされたlistのソートされたコピーを返します。Iterator は、並べ替えの基準となるプロパティの文字列名でもあります (例: )。length

だからおそらくこれ:

_(data).sortBy(function(a) {
    return a[0];
});

Data.UTC数字を与えるので、否定を投げて反対方向にソートすることができます:

_(data).sortBy(function(a) {
    return -a[0];
});

これを行うこともできます:

_(data).sortBy('0')

デモ: http://jsfiddle.net/ambiguous/mLzH/

于 2013-03-11T17:39:49.057 に答える