我用 var a1 = new Array; a1.sort(...)
问题是: 它们是多列。如果我按特定列排序,它工作正常。但 有没有办法对内部列值进行排序
说我们对col1进行排序并且排序正确
但col2未按col1的相同值排序。在Firefox和Chrome中,它运行良好。
col1 col2
1 5
1 4
2 3
2 2
2 6
3 7
预期结果 第2栏
col1 col2
1 4
1 5
2 2
2 3
2 6
3 7
答案 0 :(得分:0)
如果第一列相等,则需要对两列进行排序,然后按第二列排序。
如果没有可用的回调, Array#sort()
按字符串排序。
<强>的compareFunction 强>
可选的。指定定义排序顺序的函数。如果省略,则根据每个元素的Unicode代码点值对数组进行排序,具体取决于每个元素的字符串转换。
var array = [[2, 6], [3, 7], [1, 5], [1, 4], [2, 3], [2, 2]];
array.sort(function (a, b) {
return a[0] - b[0] || a[1] - b[1];
});
document.write('<pre>' + JSON.stringify(array, 0, 4) + '</pre>');