如何按日期和时间降序排列数组?
How order array descending by date and time?
我有对象数组:
[{id:'124',name:'ttt', MeasureDate:"2015-04-05T18:46:38"},
{id:'589',name:'mmm', MeasureDate:"2015-05-05T18:46:38"},
{id:'45',name:'yyy' , MeasureDate:"2016-01-05T18:46:38"},
{id:'567',name:'eee', MeasureDate:"2016-05-05T18:46:38"}]
我需要按 date and time
:
对数组进行排序
[{id:'567',name:'eee', MeasureDate:"2016-05-05T18:46:38"},
{id:'45',name:'yyy' , MeasureDate:"2016-01-05T18:46:38"},
{id:'589',name:'mmm', MeasureDate:"2015-05-05T18:46:38"},
{id:'124',name:'ttt', MeasureDate:"2015-04-05T18:46:38"}]
如何在 javascript 中实现它?
您可以使用sort
and Date.parse
var data = [{id:'124',name:'ttt', MeasureDate:"2015-04-05T18:46:38"},
{id:'589',name:'mmm', MeasureDate:"2015-05-05T18:46:38"},
{id:'45',name:'yyy' , MeasureDate:"2016-01-05T18:46:38"},
{id:'567',name:'eee', MeasureDate:"2016-05-05T18:46:38"}];
var sorted = data.sort(function(a, b) {
return Date.parse(b.MeasureDate) - Date.parse(a.MeasureDate);
});
console.log(sorted)
只需用sort和String#localeCompare
排序即可。
这是可能的,而日期是 ISO6801 并且是可排序的字符串。
var array = [{id:'124',name:'ttt', MeasureDate:"2015-04-05T18:46:38"}, {id:'589',name:'mmm', MeasureDate:"2015-05-05T18:46:38"}, {id:'45',name:'yyy', MeasureDate:"2016-01-05T18:46:38"}, {id:'567',name:'eee', MeasureDate:"2016-05-05T18:46:38"}];
array.sort(function (a, b) {
return b.MeasureDate.localeCompare(a.MeasureDate);
});
console.log(array);
我有对象数组:
[{id:'124',name:'ttt', MeasureDate:"2015-04-05T18:46:38"},
{id:'589',name:'mmm', MeasureDate:"2015-05-05T18:46:38"},
{id:'45',name:'yyy' , MeasureDate:"2016-01-05T18:46:38"},
{id:'567',name:'eee', MeasureDate:"2016-05-05T18:46:38"}]
我需要按 date and time
:
[{id:'567',name:'eee', MeasureDate:"2016-05-05T18:46:38"},
{id:'45',name:'yyy' , MeasureDate:"2016-01-05T18:46:38"},
{id:'589',name:'mmm', MeasureDate:"2015-05-05T18:46:38"},
{id:'124',name:'ttt', MeasureDate:"2015-04-05T18:46:38"}]
如何在 javascript 中实现它?
您可以使用sort
and Date.parse
var data = [{id:'124',name:'ttt', MeasureDate:"2015-04-05T18:46:38"},
{id:'589',name:'mmm', MeasureDate:"2015-05-05T18:46:38"},
{id:'45',name:'yyy' , MeasureDate:"2016-01-05T18:46:38"},
{id:'567',name:'eee', MeasureDate:"2016-05-05T18:46:38"}];
var sorted = data.sort(function(a, b) {
return Date.parse(b.MeasureDate) - Date.parse(a.MeasureDate);
});
console.log(sorted)
只需用sort和String#localeCompare
排序即可。
这是可能的,而日期是 ISO6801 并且是可排序的字符串。
var array = [{id:'124',name:'ttt', MeasureDate:"2015-04-05T18:46:38"}, {id:'589',name:'mmm', MeasureDate:"2015-05-05T18:46:38"}, {id:'45',name:'yyy', MeasureDate:"2016-01-05T18:46:38"}, {id:'567',name:'eee', MeasureDate:"2016-05-05T18:46:38"}];
array.sort(function (a, b) {
return b.MeasureDate.localeCompare(a.MeasureDate);
});
console.log(array);