我有一个包含标题和日期的对象的数组。
[{
title: 'Some title'
date: '12.00 PM 17/10/2014'
},
...
]
我需要按日期和字母顺序在同一时间对这些值进行排序,结果应如下所示:
1.00 PM - Btitle
1.00 PM - Bztitle
1.00 PM - Ctitle
3.00 PM - Atitle
3.00 PM - Btitle
我应该创建其他数组来记住状态等吗?或者也许可以在单sort
方法中进行。
答案 0 :(得分:11)
您可以使用单个sort
方法执行此操作。它的骨头是:
yourArray.sort(function(a, b) {
var adate = /* ...parse the date in a.date... */,
bdate = /* ...parse the date in b.date... */,
rv = adate - bdate;
if (rv === 0) {
rv = a.title.localeCompare(b.title);
}
return rv;
});
我将解析那个奇怪的日期格式作为读者的练习...