[英]How to sort array based on date in descending order if value exists in JS?
[英]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
和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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.