返回数组

时间:2015-04-30 19:54:03

标签: javascript arrays

function largestOfFour(arr) {

    for(var i = 0; i < arr.length; i++) {
      var largest = Math.max.apply(Math, arr[i]);
      return largest;
    }
}

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

我需要从每个erray返回最大的数字。当我使用console.log运行我的代码时,它打印出每个数组的最大数量但是当我返回它时,只返回数组0中的最大数字。任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:1)

您也可以使用map代替for

function largestOfFour(arrs) {
  return arrs.map(function(arr){
    return Math.max.apply(null, arr);
  });
}

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

答案 1 :(得分:0)

另一种方法是使用Array.prototype.reduce()

function largestOfFour(arr) {
    return arr.reduce(function(p, c, index, arr){
      p.push(Math.max.apply(null, c));
      return p;
    }, []);
}