我有一个类数组,它们提供的日期从AJAX回调到PHP调用。它以“数据”的形式返回,因此我们只需调用我们的数组数据:
var data = [{
"course": "First Aid",
"courseDate": "2016-04-25T00:00:00-06:00"
}, {
"course": "CPR",
"courseDate": "2016-04-06T00:00:00-06:00"
}, {
"course": "ASL1",
"courseDate": "2016-01-07T00:00:00-06:00"
}, {
"course": "ASL2",
"courseDate": "2016-03-25T00:00:00-06:00"
},
...etc...
];
我需要能够按日期降序显示它们。我正在使用这个简单的功能:
data.sort(function(a, b) {
a = new Date(a.courseDate);
b = new Date(b.courseDate);
return a > b ? -1 : a < b ? 1 : 0;
});
$.each(data, function(key, val) {
$('#courseHist').append('<br />' + val.course+' - '+val.courseDate);
});
正如预期的那样,我得到了
的回报1st Aid - 2016-04-25...
CPR - 2016-04-06...
ASL2 - 2016-03-25...
ASL1 - 2015-12-07...
从技术上讲,这是按日期降序排序的。但是,我需要返回按年份降序排序,然后按月升序,然后按日期升序排序。像这样:
ASL2 - 2016-03-25...
CPR - 2016-04-06...
1st Aid - 2016-04-25...
ASL1 - 2015-12-07...
我知道我需要打破我的约会回到大块并从那里安排,但我无法绕过如何做到这一点。非常感谢任何帮助!
或者,我可以在PHP方面做到这一点,如果有人有解决方案。
如果你想弄乱它,我会有一个小提琴HERE。 - 使用用户blex的工作代码进行更新
答案 0 :(得分:2)
Yo可以拆分数据并按年份desc,月份asc和day asc进行独立排序。
<ul>