Можете обяснить логику этого кода?

Рейтинг: -3Ответов: 1Опубликовано: 15.03.2023

let list = [-2,56,342,-6,3456,345,27,34,86,234,6865,3,4,5,647,];
function find(arr) {
    let max = -Infinity;
    for(let i = 0; i < arr.length; i++) {
        if(arr[i] > max) {
            max = arr[i];
        }
    }
    return max;
}
console.log(find(list));
 

-Infinity это минусавой бесканечность я этого понял, Но на л написано что если -Infinity больше arr[i] то мах равно arr[i] . В масиве даже 3 больше. Почемы выводится именно самое большое число?

Ответы

▲ 1Принят

-infinity это минимально возможное число. Цикл for проходит по всем элементам массива и сравнивает эти элементы с максимальным. То есть на первом проходе он сравнит -2 и -infinity и занесет в переменную max -2. На втором проходе он сравнит 56 и -2, 56 занесет в переменную. Таким образом, к концу цикла в переменной max окажется максимальное значение из массива (или -infinity, если массив пустой).