按月年對陣列進行排序 JavaScript
假設我們有一個數組,其中包含 MM-YYYY 格式的日期,如下所示 −
const arr = ["1-2016", "7-2015", "7-2016", "3-2016", "8-2016", "2-2016", "6-2016", "8-2015", "5-2016", "4-2016", "9-2015", "10-2015", "11-2015", "12-2015"];
我們需要編寫一個 JavaScript 函式,該函式採用一個這樣的陣列,並對陣列進行排序,以便其中的日期按從最舊到最新的順序排列。
示例
相關的程式碼如下 −
const arr = ["1-2016", "7-2015", "7-2016", "3-2016", "8-2016", "2-2016", "6-2016", "8-2015", "5-2016", "4-2016", "9-2015", "10-2015", "11-2015", "12-2015"];
const padToString = (num) => {
return String("0" + num).slice(-2);
};
const sortByDate = (first, second) => {
const firstPart = first.split('-'), secondPart = second.split('-');
const a = firstPart[1]+padToString(firstPart[0]);
const b = secondPart[1]+padToString(secondPart[0]);
return a - b;
};
arr.sort(sortByDate);
console.log(arr);輸出
在控制檯中的輸出結果為 −
[ '7-2015', '8-2015', '9-2015', '10-2015', '11-2015', '12-2015', '1-2016', '2-2016', '3-2016', '4-2016', '5-2016', '6-2016', '7-2016', '8-2016' ]
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP