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

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

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


LEATH
浏览 167回答 3
3回答

慕工程0101907

您需要尊重每个数组的第二项的排序:按索引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));

拉风的咖菲猫

您可以提供带有比较功能的排序。myArray.sort(function(x,y){    return x[0] - y[0];});这是排序功能的参考 - 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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript