JavaScript中基于时间对数组进行排序

3

我的一个数组格式为

["09-02-2010", " 05-08-2010", "11-11-2010",  "27-09-2010", "10-12-2010", "09-09-2010", "03-09-2010", "13-08-2010", , "11-10-2010","09-06-2010", "08-06-2010", "07-06-2010" ]

我正在尝试根据日期的降序对数组进行排序..

     dateArray.sort( mdyOrdD);

     var dateRE = /^(\d{2})[\/\- ](\d{2})[\/\- ](\d{4})/;

      function mdyOrdD(a, b){
       a = a.replace(dateRE,"$3$1$2");
       b = b.replace(dateRE,"$3$1$2");
       if (a>b) return -1;
       if (a <b) return 1;
       return 0; }

但是这并没有完全解决问题...可能出了什么问题,还有其他好的解决办法吗?


你应该将它转换为数据格式,然后使用<|>会更容易。 - Amit Sharma
https://dev59.com/lGkw5IYBdhLWcg3wHW7n - Sen Jacob
1个回答

1

如果您的日期是以DD-MM-YYYY格式表示,并且您希望它们以YYYYMMDD格式按字母顺序排序,请使用以下方法:

   a = a.replace(dateRE,"$3$2$1");
   b = b.replace(dateRE,"$3$2$1");

替代方案。

那很快就完成了..是我的错误。 - user1371896

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接