【发布时间】:2021-09-07 07:35:17
【问题描述】:
我正在尝试返回每个子数组中的最大数字 - 但这是返回每个子数组的前两个值。看起来很简单,但我找不到哪里出错了。
function largestOfFour (arr) {
let maxVal = 0
let newArr = []
for (i = 0; i < arr.length; i++) {
for (j = 0; j < arr[i].length; j++) {
if (arr[i][j] > maxVal) {
maxVal = arr[i][j]
newArr.push(maxVal)
}
}
}
return newArr
}
console.log(largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]))
此代码返回以下内容:[ 4, 5, 13, 27, 32, 35, 37, 39, 1000, 1001 ]。我哪里错了?我不想使用 .sort()
【问题讨论】:
-
i变为 1 时,maxVal的值是多少? 应该是什么? -
另外,您什么时候将
maxVal添加到newArr中?什么时候应该将数组中的最大值保存到结果中? -
@ScottHunter 应该加 1 吗?我想我已经想通了....
标签: javascript arrays for-loop