Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

วิธีจัดเรียงอาร์เรย์วันที่ใน JavaScript


สมมติว่าเรามีอาร์เรย์ที่มีวันที่เช่นนี้ -

const arr = [
   [ '02/13/2015', 0.096 ],
   [ '11/15/2013', 0.189 ],
   [ '05/15/2014', 0.11 ],
   [ '12/13/2013', 0.1285 ],
   [ '01/15/2013', 0.12 ],
   [ '01/15/2014', 0.11 ],
   [ '02/14/2014', 0.11 ],
   [ '03/14/2014', 0.11 ],
   [ '01/15/2015', 0.096 ],
   [ '07/15/2015', 0.096 ],
   [ '04/15/2013', 0.12 ],
   [ '04/15/2014', 0.11 ],
   [ '05/15/2013', 0.12 ],
   [ '06/14/2013', 0.12 ],
   [ '06/16/2014', 0.11 ],
   [ '07/15/2013', 0.12 ],
   [ '07/15/2014', 0.11 ],
   [ '03/16/2015', 0.096 ]
];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าวและเรียงลำดับอาร์เรย์จากน้อยไปมากตามวันที่ในแต่ละอาร์เรย์

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr = [
   [ '02/13/2015', 0.096 ],
   [ '11/15/2013', 0.189 ],
   [ '05/15/2014', 0.11 ],
   [ '12/13/2013', 0.1285 ],
   [ '01/15/2013', 0.12 ],
   [ '01/15/2014', 0.11 ],
   [ '02/14/2014', 0.11 ],
   [ '03/14/2014', 0.11 ],
   [ '01/15/2015', 0.096 ],
   [ '07/15/2015', 0.096 ],
   [ '04/15/2013', 0.12 ],
   [ '04/15/2014', 0.11 ],
   [ '05/15/2013', 0.12 ],
   [ '06/14/2013', 0.12 ],
   [ '06/16/2014', 0.11 ],
   [ '07/15/2013', 0.12 ],
   [ '07/15/2014', 0.11 ],
   [ '03/16/2015', 0.096 ]
];
const sortByDate = arr => {
   const sorter = (a, b) => {
      return new Date(a[0]) - new Date(b[0]);
   };
   arr.sort(sorter);
};
sortByDate(arr);
console.log(arr);

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -

[
   [ '01/15/2013', 0.12 ],
   [ '04/15/2013', 0.12 ],
   [ '05/15/2013', 0.12 ],
   [ '06/14/2013', 0.12 ],
   [ '07/15/2013', 0.12 ],
   [ '11/15/2013', 0.189 ],
   [ '12/13/2013', 0.1285 ],
   [ '01/15/2014', 0.11 ],
   [ '02/14/2014', 0.11 ],
   [ '03/14/2014', 0.11 ],
   [ '04/15/2014', 0.11 ],
   [ '05/15/2014', 0.11 ],
   [ '06/16/2014', 0.11 ],
   [ '07/15/2014', 0.11 ],
   [ '01/15/2015', 0.096 ],
   [ '02/13/2015', 0.096 ],
   [ '03/16/2015', 0.096 ],
   [ '07/15/2015', 0.096 ]
]