I have array of objects:
[{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"}]
I neet to order array above descending by 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"}]
How can I implement it in javascript?
You can use 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)
Simply sort it with sort and String#localeCompare
.
This is possible, while the date is an ISO6801 and that is a sortable string.
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);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.