【发布时间】:2015-03-16 19:42:41
【问题描述】:
我有一个数组,我想按“id”和“date”从小到大对其进行排序。我怎样才能正确地做到这一点?
例子:
var unsorted = [
{id: 1, date: "2015-01-18T15:00:00+01:00"},
{id: 1, date: "2015-01-18T14:30:00+01:00"},
{id: 2, date: "2015-01-18T10:00:00+01:00"},
{id: 1, date: "2015-01-18T16:00:00+01:00"},
{id: 3, date: "2015-01-18T14:15:00+01:00"},
{id: 2, date: "2015-01-18T14:00:00+01:00"}
]
应该返回:
var sorted = [
{id: 1, date: "2015-01-18T14:30:00+01:00"},
{id: 1, date: "2015-01-18T15:00:00+01:00"},
{id: 1, date: "2015-01-18T16:00:00+01:00"},
{id: 2, date: "2015-01-18T10:00:00+01:00"},
{id: 2, date: "2015-01-18T14:00:00+01:00"},
{id: 3, date: "2015-01-18T14:15:00+01:00"}
]
【问题讨论】:
-
ummmm 从服务器上的数据库中获取数据时,为什么不使用
ORDER BY对数据进行排序? -
嗯,
array.sort()将比较器函数作为参数,所以试试吧。 -
我尝试了很多变化,但没有找到正确的解决方案,所以这就是我在这里问的原因。
-
你的意思我做不到
-
@IGRACH 我无法处理来自服务器端的数据,因为我通过 pubnub 等获取这些数据。
标签: javascript arrays list sorting