我想在将[0,1,2,3]
与for
循环的每个数组中获得最大数量。
我不知道该怎么做才能获得所需的输出。
function largestOfFour(arr) {
for (let i = 0; i < arr.length; i++){
console.log(Math.max(...arr[i])) \\returns => 5, 27, 39, 1001
}
}
console.log(largestOfFour([[4, 5, 1], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]));
console.log(Math.max(...arr[i]))
返回5, 27, 39, 1001
。当我删除console.log
并在此行使用return时,在许多不同的方法中,迭代都没有完成。循环停止并仅返回arr[0]
处的最大数字,而不是完全循环。
所需的输出是获得每个数组的最大数量= 5, 27, 39, 1001
答案 0 :(得分:2)
您不能从一个函数中多次返回
如果您的代码在for循环的主体中返回,则它将在第一次迭代中从该函数返回
使用数组映射功能
function largestOfFour(arr) {
return arr.map(a => Math.max(...a))
}
console.log(largestOfFour([[4, 5, 1], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]));
答案 1 :(得分:1)
function largestOfFour(arr) {
let result = [];
for (let i = 0; i < arr.length; i++){
result.push(Math.max(...arr[i]));
}
return result;
}
console.log(largestOfFour([[4, 5, 1], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]));