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])

返回列表的排序副本,按通过迭代器运行每个值的结果升序排列。迭代器也可以是要排序的属性的字符串名称(例如。length)。

所以也许是这样的:

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

由于Data.UTC给了你一个数字,你可以抛出一个否定以相反的方向排序:

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

你也可以这样做:

_(data).sortBy('0')

演示:http: //jsfiddle.net/ambiguous/mLDzH/

于 2013-03-11T17:39:49.057 回答