Return Largest Numbers in Arrays

2017-05-02  本文已影响13人  Marks

大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组。
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]) 应该返回一个数组
largestOfFour([[13, 27, 18, 26], [4, 5, 1, 3], [32, 35, 37, 39], [1000, 1001, 857, 1]]) 应该返回 [27,5,39,1001].
largestOfFour([[4, 9, 1, 3], [13, 35, 18, 26], [32, 35, 97, 39], [1000000, 1001, 857, 1]]) 应该返回 [9, 35, 97, 1000000].

//错误!
function largestOfFour(arr) {
  // You can do this!
  var newArr = [];
  for(var i=0;i<arr.length;i++){
    for(var j=0;j<arr[i].length;j++){
      var max = 0; // j作用域外无法访问max
      if(max < arr[i][j]){
        max = arr[i][j];
      }
      newArr[i] = arr[i][0];// 直接用max
    }   
  } 
  return newArr; 
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
//正解
function largestOfFour(arr) {
  // You can do this!
  var newArr = [];
  
  for(var i=0;i<arr.length;i++){
    var max = 0;
    for(var j=0;j<arr[i].length;j++){
      
      if(max < arr[i][j]){
        max = arr[i][j];
      }
      newArr[i] = max;
    }

  } 
  return newArr;
  
}

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

猜你喜欢

热点阅读