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]
]