我正在尝试按时间戳列降序对二维数组进行排序。此列(索引 11)的格式为:'yyyy-MM-dd HH:mm:ss'。我已经尝试了很多东西。根据我读过的主题,这段代码应该可以工作:
List.sort(function(x, y){
return Date.parse(y[11]) - Date.parse(x[11]);
});
先感谢您!
我正在尝试按时间戳列降序对二维数组进行排序。此列(索引 11)的格式为:'yyyy-MM-dd HH:mm:ss'。我已经尝试了很多东西。根据我读过的主题,这段代码应该可以工作:
List.sort(function(x, y){
return Date.parse(y[11]) - Date.parse(x[11]);
});
先感谢您!
这将适用于支持最新定义的输入格式的最新浏览器Date.parse
(在 ES5 之前,它只是“解析任何Date#toString
吐出的内容”)。
尽管从未指定过,但较旧的浏览器将支持它/
而不是-
日期,因此:
List.sort(function(x, y){
return Date.parse(y[11].replace(/-/g, '/')) - Date.parse(x[11].replace(/-/g, '/'));
});
当然,始终在您的目标浏览器上进行测试,因为这也从未指定过。
例如,在 IE8 及更早版本上:
display(Date.parse("2012-06-01 14:22:17"));
...是NaN
,但是:
display(Date.parse("2012/06/01 14:22:17"));
...是1338556937000
。
由于您已经获得了完美格式的字符串来比较它们,因此我将完全跳过日期解析:
List.sort(function(x, y){
return y[11] > x[11] ? 1 : -1;
});
尽管为完整性起见,如果字符串相等,则应返回 0