繁体   English   中英

按 JavaScript 中的第一个元素对二维数组进行排序

[英]Sort 2d array by first element in JavaScript

我有一个像这样的二维数组:

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] ];

您需要尊重每个数组的第二项的排序:

  1. 按索引1降序排序,
  2. 按索引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));

您可以通过比较 function 提供排序。

myArray.sort(function(x,y){
    return x[0] - y[0];
});

这是排序 function 的参考 - sort()

您可以像这样按第一个元素排序。

 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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM