微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有人可以解释此for循环的工作原理吗?

如何解决有人可以解释此for循环的工作原理吗?

函数从数组中返回最大数。我需要帮助来了解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]));

解决方法

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)将始终返回零或数组的最大值。如果返回零,则表示所有数组值均为零或小于零。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。