@supkiler

Какая логика у этого кода?

const arr = [3 ,-2 ,5 ,15 ,11 ];

let max = arr[0];
for (let i = 0; i < arr.length;i++){
  let item = arr[i];
  if(item > max){
    max = item;
  }
}

Почему в max число 15, когда в if item > max? Это же значит, что должно записываться 3, оно же больше 0.
  • Вопрос задан
  • 515 просмотров
Решения вопроса 2
xez
@xez
TL Junior Roo
Потому, что когда i равно 3, item равно 15, а max равен 5.
15 больше 5, по этому в max присваивается значение 15.
Ответ написан
Комментировать
@historydev Куратор тега JavaScript
Потому-что этот алгоритм ищет наибольшее число в массиве.
15 > 3 - поэтому в max 15

Если точно как он работает:
max - 3
max - 5
max - 15

Остальное отбрасывается т.к. оно меньше текущего состояния max и условие не отрабатывает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
На всякий случай. Способ нахождения максимального числа в массиве можно упростить до одной строчки:
const arr = [3 ,-2 ,5 ,15 ,11 ];

Math.max(...arr); // 15
Ответ написан
Комментировать
Geminix
@Geminix
Фуллстек nuxt, .net разработчик
i используется как индекс элемента в массиве, где нет числа 0. Почему сравниваете 3 и 0?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы