3 回答
TA贡献1836条经验 获得超3个赞
您没有返回函数中的任何内容...
顺便说一句,您可以使它更容易。
请参阅此内容:
[
[40, 17, 81, 18, 57],
[74, 4, 36, 16, 29],
[36, 42, 69, 73, 45],
[51, 54, 69, 16, 92],
[7, 97, 57, 32, 16]
].reduce((max, a2) => {
const val = a2.reduce((a, b) => {
return Math.max(a, b);
});
return Math.max(val, max);
}, 0)
它使用箭头函数 (es6) 和数组缩减。这将返回所有输入数组的最大值。
TA贡献1804条经验 获得超2个赞
像这样工作:)
if(product > maxProduct){
return product = maxProduct;
}
return maxProduct;
}
}
}
TA贡献1820条经验 获得超2个赞
这是一个愚蠢的错误,我在函数中使用变量名称“grid”而不是“arr”。顺便说一句,谢谢大家。好的,这是我的工作代码:-
const grid = [
[40, 17, 81, 18, 57],
[74, 4, 36, 16, 29],
[36, 42, 69, 73, 45],
[51, 54, 69, 16, 92],
[7, 97, 57, 32, 16]
];
function largestGridProduct(arr) {
let product = 1 , maxProduct = 1;
for(let i=0 ; i<arr.length ; i++){
for(let j=0 ; j<arr.length-3 ; j++){
product = arr[i][j] * arr[i][j+1] * arr[i][j+2] * arr[i][j+3];
if(product > maxProduct){
maxProduct = product;
}
}
}
return maxProduct;
}
console.log(largestGridProduct(grid));
添加回答
举报