Наибольшее значение
Третий приём — найти наибольшее значение. Представьте, что вы просматриваете стопку экзаменационных работ, чтобы найти лучшую. Вы берёте первую работу. Затем смотрите остальные по одной, и если какая-то лучше той, что у вас в руке, берёте её вместо прежней. В конце в руке у вас лучшая работа. В коде работа в вашей руке — это переменная:
const scores = [72, 45, 90, 38, 64];
let highest = scores[0];
for (const score of scores) {
if (score > highest) {
highest = score;
}
}
console.log("Лучший результат:", highest);Лучший результат: 90Переменная highest начинается с первого элемента. Затем цикл сравнивает с ней каждый результат: 72 не больше 72, 45 тоже, а вот 90 больше, поэтому highest становится равной 90. Ни 38, ни 64 не больше 90, так что 90 остаётся до конца. Поскольку highest меняется, она должна быть объявлена через let.
Почему не начать с 0? Потому что 0 может не оказаться среди значений. Если бы все значения были отрицательными, например зимние температуры [-5, -2, -8], то начальный 0 так и остался бы наибольшим, и программа вывела бы 0 — температуру, которой в массиве вообще нет. Первый элемент — всегда безопасное начало.
Наименьшее значение находят точно так же, только с < вместо >.
Задание
- 1
В массиве
pricesхранятся цены наушников в интернет-магазине. Создайте переменнуюhighestс первой ценой,prices[0]. - 2
Пройдите по
pricesциклом и, если цена большеhighest, сохраните её вhighest. После цикла выведитеconsole.log("Самая высокая цена:", highest);. Вывод:Самая высокая цена: 2499. - 3
Таким же способом найдите самые дешёвые наушники с помощью переменной
lowestи выведите цену:console.log("Самая низкая цена:", lowest);. Вывод:Самая низкая цена: 179.