Computer >> Máy Tính >  >> Lập trình >> Javascript

Sắp xếp một mảng theo ngày trong JavaScript

Giả sử, chúng ta có một mảng các đối tượng như thế này -

 const arr =[{id:1, date:'Mar 12 2012 10:00:00 AM'}, {id:2, date:'Mar 2012 08:00:00 AM'}];  

Chúng tôi được yêu cầu viết một hàm JavaScript nhận trong một mảng như vậy và sắp xếp mảng theo thuộc tính ngày tháng của mỗi đối tượng.

(Mới nhất trước hoặc cũ nhất trước).

Cách tiếp cận phải là chuyển đổi chúng thành Đối tượng ngày JS và so sánh dấu thời gian của chúng để sắp xếp mảng.

Ví dụ

Mã cho điều này sẽ là -

 const arr =[{id:1, date:'Mar 12 2012 10:00:00 AM'}, {id:2, date:'Mar 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); 

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

 [{id:2, date:'March 8 2012 08:00:00 AM'}, {id:1, date:'March 12 2012 10:00:00 AM'}]