function findLargestNumbers(arrayOfArrays) {
let k = new Array;
for(let i = 0 ; i < arrayOfArrays.length ; i++){
if(arrayOfArrays[i].length == 0){
continue ;
}
let ans = arrayOfArrays[i][0];
for(let j = 0 ; j < arrayOfArrays[i].length ; j++){
ans = Math.max(ans,arrayOfArrays[i][j]);
}
k[i] = ans;
}
return k;
}
我想做的是得到最大的数字,这件事真的很糟糕,甚至这个字数限制是什么,这必须是足够的信息,你们会明白到底发生了什么 [[], [1, 2], []] 预计 [2]
只需为 k[i] 保留另一个变量,那么一切都会被修复。
作为一个不太复杂的替代方案,您可以考虑
Math.max(...arrayOfArrays.flat())
const arr = [[-2, 3, 10], [33, 30, 40], [-100, 199, 5]];
// @benchmark the easiest
Math.max(...arr.flat());
// @benchmark the fastest
arr.reduce((r, item) => Math.max(r, item.reduce((r, item) => Math.max(r, item), Number.MIN_SAFE_INTEGER)), Number.MIN_SAFE_INTEGER);
/*@end*/eval(atob('e2xldCBlPWRvY3VtZW50LmJvZHkucXVlcnlTZWxlY3Rvcigic2NyaXB0Iik7aWYoIWUubWF0Y2hlcygiW2JlbmNobWFya10iKSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dC5zcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9naC9zaWxlbnRtYW50cmEvYmVuY2htYXJrL2xvYWRlci5qcyIsdC5kZWZlcj0hMCxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHQpfX0='));