不多说直接show代码
var timeArr=[
{'id':'A01','date':'2016-04-20 23:22:11'},
{'id':'A02','date':'2016-04-21 21:00:11'},
{'id':'A03','date':'2016-04-23 22:00:22'},
{'id':'A04','date':'2016-04-19 12:22:00'},
{'id':'A05','date':'2016-02-19 11:11:00'}
];
timeArr.sort(function(a,b) {
return Date.parse(b.date.replace(/-/g,"/"))-Date.parse(a.date.replace(/-/g,"/"));
});
Arr.sort是js自带的排序方法,根据字符编码的顺序进行排序(数组在原数组上进行排序)
Date.parse()作用是将日期时间转换成毫秒进行对比;
replace(/-/g,"/")是兼容ie和火狐的方法,因为ie和火狐的默认日期格式是2016/04/20 23:22:11,所以必须进行替换。
结果如下:
id=A03 date=2016-04-23 22:00:22
id=A02 date=2016-04-21 21:00:11
id=A01 date=2016-04-20 23:22:11
id=A04 date=2016-04-19 12:22:00
id=A05 date=2016-02-19 11:11:00
解决问题。