我有一个像这样的二维数组:myArray = [ [20,6], [12,6], [17,6], [2,6], [11,5], [18,5], [7,4], [4,4] ];我希望按第一个索引值对其进行排序 - [2,6] 应该在 [12,6] 之前,[16,6]... [4,4] 在 [7,4] 之前...获得:sortedArray = [ [2,6], [12,6], [17,6], [20,6], [11,5], [18,5], [4,4], [7,4] ];
3 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
您需要尊重每个数组的第二项的排序:
按索引
1
降序排序,按索引
0
升序排序。
const array = [[20, 6], [12, 6], [17, 6], [2, 6], [11, 5], [18, 5], [7, 4], [4, 4]];
array.sort((a, b) => b[1] - a[1] || a[0] - b[0]);
console.log(JSON.stringify(array));
慕森卡
TA贡献1806条经验 获得超8个赞
您可以像这样按第一个元素排序。
const myArray = [ [20,6], [12,6], [17,6], [2,6], [11,5], [18,5], [7,4], [4,4] ];
let ans = myArray.sort( (a, b) => {
return a[0] - b[0]
})
console.log(ans)
添加回答
举报
0/150
提交
取消