我有一个json数组,我想在追加它之前按日期排序。
数组看起来像这样:
result = [];
result.push(
{id: 'ID', result: {url: 'test', date: '15 May 2013, 6:40 pm'}},
{id: 'ID', result: {url: 'test', date: '20 Dec 2012, 8:00 am'}},
{id: 'ID', result: {url: 'test', date: '29 Jun 2012, 5:47 pm'}}
);
目前,我已成功对日期数组进行排序:
var datearray = [
'2011-05-26 12:00:00',
'2016-01-26 12:00:00',
'2011-01-26 12:00:00',
'2012-12-08 07:00:00',
'2011-01-26 12:00:00',
'1995-01-05 06:00:00'
];
datearray.sort();
给了我:
1995-01-05 06:00:00
2011-01-26 12:00:00
2011-01-26 12:00:00
2011-05-26 12:00:00
2012-12-08 07:00:00
2016-01-26 12:00:00
但是我不知道如何对包含多于一个键的复杂数组执行相同操作。我知道我应该首先将日期格式化为YYYY-MM-DD 但是我有点搞砸之后。
一个良好的开端将来自我目前在jsbin上发现的内容:http://jsbin.com/ipatok/8/edit
答案 0 :(得分:17)
function comp(a, b) {
return new Date(a.result.date).getTime() - new Date(b.result.date).getTime();
}
your_array.sort(comp);
只是为了扩展@Karthikr的评论。
这是jsfiddle