我得到了我正在尝试排序的日期数组列表:
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/