【发布时间】:2020-09-21 00:15:57
【问题描述】:
此函数返回数组中的最大数。我需要帮助来理解 if 部分:if (arr[i] > maxNumber) {maxNumber = arr[i]}。使用伪代码或解释这究竟是如何工作的?
function max(arr){
let maxNumber = 0
for (i = 0; i < arr.length; i++) {
if (arr[i] > maxNumber){
maxNumber = arr[i]
}
}
return maxNumber
}
console.log(max([1,2,3,40,5]));
【问题讨论】:
-
为什么不直接使用
Math.max(...arr)? -
@Lawrence:家庭作业。
-
逐行检查代码。因此,您有一个值为 0 的变量 maxNumber,并且您正在循环 arr,首先
arr[i]的值为 1,因此它大于 maxNumber,因此您将 1 分配给 maxNumber 变量。在第二个循环中,您从arr[i]获得了2的值,然后再次检查它是否大于当前的 maxNumber 值(当时为 1)。所以继续这样,你返回 40 因为它是该数组中最大的 =) -
确实是家庭作业。谢谢哈利尔,精彩的解释。
-
希望最大数量大于零。
标签: javascript for-loop if-statement