我有一个数组complexArray
,我想按其子数组(字符串)的第一个值进行排序。在 simpleArray
中按照需要进行排序。对于使用的复杂数组,自定义排序函数可以很好地处理 Int 值(例如在位置 [1] 处),但不适用于位置 [0] 处的 String。
我需要如何调整自定义排序功能才能实现此功能?
var simpleArray = ["2018-12-06T19:48:39Z","2018-12-15T19:48:39Z","2018-12-13T16:37:04Z"];
simpleArray.sort();
console.log(simpleArray);
var complexArray = [["2018-12-06T19:48:39Z", 1, "15m 10s"],["2018-12-15T19:48:39Z", 3, "16m 25s"],["2018-12-13T16:37:04Z", 2,"21m 41s"]];
complexArray.sort(function(a, b){
return a[0] - b[0];
});
console.log(complexArray);
最佳答案
您需要将日期字符串转换为 Date
对象,然后在排序函数中比较它们。
var complexArray = [["2018-12-06T19:48:39Z", 1, "15m 10s"],["2018-12-15T19:48:39Z", 3, "16m 25s"],["2018-12-13T16:37:04Z", 2,"21m 41s"]]
complexArray.sort(function(a, b){
return new Date(a[0]) - new Date(b[0]);
});
console.log(complexArray);
关于Javascript:根据包含字符串日期的子数组元素对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53800171/