问题描述
此函数从数组中返回最大数。我需要帮助来了解if部分:if (arr[i] > maxnumber) {maxnumber = arr[i]}
。使用伪代码或解释它是如何工作的?
解决方法
function max(array) {
largest number is equal to 0;
for (i is equal to 0; i is less than the length of array; increment i by 1 each time) {
if (the item at the current index is greater than the previous largest number) {
set the largest number to to the item at the current index;
}
}
return largest number which will be 0 if no larger number is found
}
值得一提的是,如果数组中的所有值均为负,它将返回0;否则,返回0。 这同样适用于负数。
function max(arr){
let maxNumber = -Infinity
for (i = 0; i < arr.length; i++) {
if (arr[i] > maxNumber){
maxNumber = arr[i]
}
}
return maxNumber
}
,
这部分内容:if (arr[i] > maxNumber) {maxNumber = arr[i]}
的工作是检查当前数组成员是否大于当前maxNumber以及是否将maxNumber值更改为当前数组。
简而言之,max(whatEverArray)
将始终返回零或数组的最大值。如果返回零,则表示所有数组值均为零或小于零。