javascript - 使用 JavaScript 对字符串格式的日期进行排序

标签 javascript arrays sorting date

我得到了我正在尝试排序的日期数组列表:

var arr = ['2017/12/16', 
'2017/05/01',
'2017/04/20',
'2017/03/10',
'2017/08/12',
'2017/03/06',
'2017/02/04',
'2017/01/07',
'2016/02/08',
'2015'09/08'];

它们采用 yyyy/mm/dd 格式。我尝试使用这个函数来排序:

arr.sort(function(a,b) {
 a = a.split('/').reverse().join('');
  b = b.split('/').reverse().join('');
  return a > b ? 1 : a < b ? -1 : 0;
});

但是,它告诉我 a.split 不是一个函数。

最佳答案

无需转换数组中的字符串,您可以使用 Array#sort 的默认行为简单地比较字符串。 :

var arr = [
    '2017/12/16',
    '2017/05/01',
    '2017/04/20',
    '2017/03/10',
    '2017/08/12',
    '2017/03/06',
    '2017/02/04',
    '2017/01/07',
    '2016/02/08',
    '2015/09/08'
];

arr.sort();

console.log(arr);

关于javascript - 使用 JavaScript 对字符串格式的日期进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45894756/

相关文章:

c++ - Int 数组上的归并排序 C++

ios - AnchroPoint x :0, y:0 不适用于方程式

arrays - 从数组创建散列的多维键?

javascript - jQuery 日期选择器在第二次单击时不起作用

javascript - Firebase云数据库触发器功能并不总是完成

python - 从多维数组中选择一些维度

PHP/MySQL : how to display the words before and after the searched item

arrays - VBA中的插入排序 - 不起作用

php - JQuery.Validate() - 远程规则

javascript - 在 jquery 验证期间向非输入元素添加样式