Javascript 对多维数组进行数字和字典排序
在过去的两天里,我一直在绞尽脑汁想办法解决这个问题,但我想不出来 我需要先对数组进行数字排序,然后按字典排序。自定义a 我有一个类似于此的数组:Javascript 对多维数组进行数字和字典排序,javascript,arrays,algorithm,sorting,Javascript,Arrays,Algorithm,Sorting,在过去的两天里,我一直在绞尽脑汁想办法解决这个问题,但我想不出来 我需要先对数组进行数字排序,然后按字典排序。自定义a
var-arr=[
[ '80', '1', '230' ],
[ '9', '1', '230' ],
[‘肯’、‘6’、‘100’],
['Dan','2','800'],
[‘汤姆’、‘6’、‘500’],
['team10','2','222'],
['team9','2','222']
];代码>我建议使用带有for字符串的链式方法
排序顺序:
- 在索引1描述
- 在索引2描述
- 在索引0处
- 非商业部分asc
- 商务部分
var arr=[['80','1','230'],['9','1','230'],['Ken','6','100'],['Dan','2','800'],['Tom','6','500'],['team10','2','222'],['team9','2','222'];
arr.sort(函数(a,b){
var aa=a[0]。拆分(/(\d+)/g),
bb=b[0]。拆分(/(\d+)/g);
返回b[1]-a[1]||
b[2]-a[2]||
aa[0].localeCompare(bb[0])| | aa[1]-bb[1];
});
控制台日志(arr)代码>谢谢你,尼娜。同样的问题。如果在原始数组中交换team10和team9并运行代码,它们将无法正确排序。这是因为1<9
必须解析数字并进行比较,而不是按字符进行比较