อาร์เรย์อ็อบเจ็กต์มี property date: [{id: 1, date: 'Mar 12 2012 10:00:00 AM'}, {id: 2, date: 'Mar 8 2012 08:00:00 AM'}]
แปลงเป็น Date object เปรียบเทียบ timestamp เรียงลำดับ
ตัวอย่างโค้ด
const arr = [{id: 1, date: 'Mar 12 2012 10:00:00 AM'}, {id: 2, date: 'Mar 8 2012 08:00:00 AM'}];
const sortByDate = arr => {
const sorter = (a, b) => {
return new Date(a.date).getTime() - new Date(b.date).getTime();
};
arr.sort(sorter);
};
sortByDate(arr);
console.log(arr);ผลลัพธ์
[ { id: 2, date: 'Mar 8 2012 08:00:00 AM' }, { id: 1, date: 'Mar 12 2012 10:00:00 AM' } ]คำอธิบาย: new Date(dateString).getTime() คืน milliseconds นับจาก epoch เปรียบเทียบตัวเลขตรงๆ เรียงจากเก่าสุดไปใหม่สุด (ascending) หากต้องการใหม่สุดก่อน ให้สลับ a,b