如何使用javascript从每个子数组返回最大数字?

时间:2015-08-11 07:56:06

标签: javascript arrays

如何从多维数组的每个子数组返回最大数字?输出将是一个最大数字的数组。

例如 array = [[4,5,1,3],[13,27,18,26],[32,35,37,39],[1000,1001,557,1]]

返回值[5,27,39,1001]

我试过

function largestOfFour(arr) {

  for(var i = 0; i < arr.length; i++) {
    large = 0;
    for(var j = 0; j < arr[i].length; j++) {
      if(arr[i][j] > large) {
        large = arr[i][j];
      }
    }
  }
  return arr.push(large);
}

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

输出只是第一个子数组(5)的最大值

3 个答案:

答案 0 :(得分:2)

我已经完成了代码并以最终解决方案结束。第一个for循环遍历大数组,第二个循环遍历子数组的组件。 if检查最大数字。

--conf "spark.scheduler.minRegisteredResourcesRatio=1" "spark.ext.h2o.topology.change.listener.enabled=false" "spark.locality.wait=3000" "spark.ext.h2o.network.mask=10.196.64.0/24"

答案 1 :(得分:1)

我已经回答了我的问题

function largestOfFour(arr) {
  var newArr = [];
  for (i=0; i<arr.length; i++) {
    var largest = 0;
    for (j=0; j<arr[i].length; j++) {
      if (arr[i][j] > largest) {
        largest = arr[i][j];
      }
    }
    newArr.push(largest);
  }
  // You can do this!
  return newArr;
}

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

答案 2 :(得分:0)

如果要使用简单的循环,则需要创建一个返回数组并将结果推送到那里。在您的代码中,您只在结尾处推送了一个项目(return arr.push(large))。

希望很清楚

问候,

相关问题