在JavaScript中对2D数组进行排序

时间:2016-05-28 11:42:11

标签: javascript

我试图将每个数组中的数字从最大到最小排序,但只有第一个被排序。我需要另一个嵌套循环吗?我被卡住了。

function sortNums(arr) {
  for(var i = 0; i < arr.length; i++){
     arr[i] = arr[i].sort(function(a, b){return b-a;});
     return arr; 
  }
}

sortNums([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);

1 个答案:

答案 0 :(得分:1)

使用return关键字时,函数会立即终止。将它移到迭代之外,你应该很好:

function sortNums(arr) {
  for(var i = 0; i < arr.length; i++) {
     arr[i] = arr[i].sort(function(a, b) {
       return b - a;
     });
  }
  return arr;
}

sortNums([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);