Javascript - 按日期和按字母顺序排列数组
问题描述:
我有一个包含标题和日期的对象的数组。Javascript - 按日期和按字母顺序排列数组
[{
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
方法中完成。
答
你可以在一个单一的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;
});
我会离开,奇怪的日期格式作为练习为读者解析...
你有机会获得moment.js? – gh9 2014-10-17 14:33:21
提示:如果你可以用'YYYY/MM/DD HH:mm:ss'的格式从'date/time'中得到一个'string',并将它与'title'连接起来,你就可以对'array '这个_merged_数据。 – melancia 2014-10-17 14:35:17
现在在[Meta]讨论(http://meta.stackoverflow.com/questions/274630/should-we-add-a-do-my-work-for-me-close-reason?cb=1)。 – Teemu 2014-10-17 14:36:01