สมมติว่าเรามีอาร์เรย์ที่มีวันที่บางส่วนดังนี้:
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] ]