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中的最大数字。任何人都可以帮我这个吗?
答案 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;
}, []);
}