背景 因业务需要 对后台查询出的结果列表根据日期通过js进行倒序排序 实现思路: 第一步:使用 parse() 方法; parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。 该方法是 Date 对象的静态方法。一般采用 Date.parse() 的形式来调用。 第二步:使用 sort() 方法用于对数组的元素进行排序。
部分代码如下:
......
var jsonArr = $.parseJSON(data);
jsonArr.sort(function(a,b){
return Date.parse(b.noticeEndTime) - Date.parse(a.noticeEndTime);
});
......
以此实现排序效果。
!!!但是在360浏览器的兼容模式下(IE内核)却出现此功能失效问题。 最终问题的原因是出在Date.parse() 方法上。 在调用Date.parse()方法时出现了NaN。因为IE不支持“1970-01-01 ” 这种格式的,需改成“1970/01/01 ” 解决方案如下:
......
var jsonArr = $.parseJSON(data);
jsonArr.sort(function(a,b){
return Date.parse(b.noticeEndTime.replace('-','/')) - Date.parse(a.noticeEndTime.replace('-','/'));
});
......