在不更改日期格式的情况下对日期数组(没有前导0)进行排序?-Javascript



我有以下日期数组。

[ "1/22/20", "1/23/20", "1/24/20", "1/25/20", "1/26/20", "1/27/20", "1/28/20", "1/29/20", "1/30/20", "1/31/20", "2/1/20", "2/10/20", "2/11/20", "2/12/20", "2/13/20", "2/14/20", "2/15/20", "2/16/20", "2/17/20", "2/18/20", "2/19/20", "2/2/20", "2/20/20", "2/21/20", "2/22/20", "2/23/20", "2/24/20", "2/25/20", "2/26/20", "2/27/20", "2/28/20", "2/29/20", "2/3/20", "2/4/20", "2/5/20", "2/6/20", "2/7/20", "2/8/20", "2/9/20", "3/1/20", "3/2/20", "3/3/20" ]

问题是,对于个位数的天数/月份,没有前导0。

我想知道是否有某种内置函数可以利用,以便按正确的顺序对这些日期进行排序,而不是使用一些循环和if语句。

以下是一个由于0位而导致日期不按顺序排列的示例

"1/31/20", "2/1/20", "2/10/20", "2/11/20", "2/12/20", "2/13/20",

编写一个自定义排序函数,在对每个日期进行比较之前,将其实例化到Date对象中。

const dates = [ "2/6/20", "1/23/20", "1/25/20", "1/26/20", "2/16/20", "1/27/20", "1/28/20", "1/29/20", "1/30/20", "1/31/20", "2/1/20", "2/10/20", "2/11/20", "2/12/20", "2/13/20", "2/14/20", "2/15/20", "2/17/20", "2/18/20", "2/19/20", "2/2/20", "2/29/20", "2/20/20", "2/21/20", "1/22/20", "2/22/20", "2/23/20", "2/24/20", "2/25/20", "1/24/20", "2/26/20", "2/27/20", "2/28/20", "2/3/20", "2/4/20", "2/5/20", "2/7/20", "2/8/20", "2/9/20", "3/1/20", "3/2/20", "3/3/20" ];
dates.sort((a, b) => new Date(a) - new Date(b));
console.log(dates);

最新更新