对日期字符串数组进行排序的最佳方法是:
var array = ["Tue 7/28", "Sat 8/1", "Sun 8/2", "Mon 7/27", "Thu 7/30", "Fri 7/31", "Wed 7/29"];
进入这个:
var array = ["Mon 7/27", "Tue 7/28", "Wed 7/29", "Thu 7/30", "Fri 7/31", "Sat 8/1", "Sun 8/2"];
答案 0 :(得分:3)
您需要以某种方式使日期具有可比性,因此您可以使用函数将它们转换为可比较的东西。您可以跳过工作日并获取月和日并将其转换为数字:
array.sort(function(a, b){ return decodeDate(a) - decodeDate(b); });
使用它可以对数组进行排序:
function decodeDate(s) {
parts = s.substr(4).split('/');
return parseInt(parts[0], 10) * 40 + parseInt(parts[1], 10);
}
var array = ["Tue 7/28", "Sat 8/1", "Sun 8/2", "Mon 7/27", "Thu 7/30", "Fri 7/31", "Wed 7/29"];
array.sort(function(a, b){ return decodeDate(a) - decodeDate(b); });
document.write(JSON.stringify(array));
演示:
status