Как работает блок if в этой задаче?

Задача следующая https://codepen.io/new-reality-design/pen/KKwyzXM

Частично не понимаю вот это:

if (input1 > input2) {
    let temp = input2;
    input2 = input1;
    input1 = temp;
  }


Если введенное число input1 больше введенного input2, то создается переменная temp, которой мы присваиваем значение из input2, затем переменной input2 мы присваиваем значение из input1. Как понять логику данного решения? Поясните пожалуйста. Почему в итоге получается, что не важно в какой из инпутов будет введено большее число? Спасибо!
  • Вопрос задан
  • 117 просмотров
Решения вопроса 1
@BigSmoke
if (input1 > input2) {
    let temp = input2;
    input2 = input1;
    input1 = temp;
 }


Этот код - это способ узнать в какой из двух переменных лежит наименьшее число, а в какой наибольшие (ведь именно в такой последовательности их нужно потом вывести с помощью цикла).

Если input1 больше input2, то меняем их местами и теперь точно знаем, что в input1 наименьшее из двух чисел.
А если input1 меньше input2, то ничего делать не нужно - ведь в input1 наименьшее из двух чисел.

Соответственно в цикле в любом случае выводим числа от input1 до input2, даже если пользователь ввел в input1 число большее, чем в input2.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Lynn
@Lynn
nginx, js, css
Возьмите ручку и бумажку и выпишите значения всех трёх переменных после каждой строки
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы