我有一个日期数组 $myArray
(2012-09-31,1999-01-23,2018-08-29,1808-04-20,2017-11-05,1001-10-01,)
我想按从最近到最旧的顺序列出这些日期,我正在使用一个函数
function myFunction() {
myArray.sort(function(a, b){return b-a});
}
上面的函数似乎没有以任何特定的方式对数组进行排序。
最佳答案
在这种特殊情况下,您实际上可以使用 .localeCompare()
进行比较。
原因是您的日期字符串的格式是从最一般到最具体,并且长度都相同。
var myArray = ['2012-09-31', '1999-01-23', '2018-08-29', '1808-04-20', '2017-11-05', '1001-10-01'];
function myFunction() {
myArray.sort(function(a, b) {
return b.localeCompare(a);
});
}
myFunction();
console.log(myArray);
如果可以删除月份或日期的前导 0
,或者格式为 yyyy-dd-mm
或 ,则此方法将不起作用月-日-年
。
关于javascript - javascript 日期数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45941478/