【发布时间】:2016-07-25 05:28:15
【问题描述】:
在过去的 2 天里,我一直在想办法解决这个问题,但我想不通。
我需要先对数组进行数字排序,然后再按字典顺序排序。虽然自定义 a
我有一个类似的数组:
var arr = [
[ '80', '1', '230' ],
[ '9', '1', '230' ],
[ 'Ken', '6', '100' ],
[ 'Dan', '2', '800' ],
[ 'Tom', '6', '500' ],
[ 'team10', '2', '222' ],
[ 'team9', '2', '222' ]
];
这个数组需要先按照arr[n][1]中的数字进行数字排序(从大到小)。具有相同 arr[n][1] 值的结果需要根据 arr[n][2](从大到小)按数字顺序排列。最后,具有相同值 [n][1] 和 [n][2] 的结果需要根据 arr[n][0] 按字典顺序排序。
到目前为止,我得到的最远的是这种方法:
function sortArr() {
arr.sort(function(a,b) {
if (a[1] === b[1]) {
if (a[2] === b[2]) {
return b[0] < a[0];
}
return a[2]-b[2];
}
return b[1]-a[1]
});
}
虽然数字排序适用于此,但字典排序却不适用。任何帮助将不胜感激。
【问题讨论】:
标签: javascript arrays algorithm sorting