Я могу понять, как этот код создает Fizz, Buzz, когда делится на 3, 5. Но запутался в том, как он генерирует FizzBuzz, когда он делится на 3 и 5, потому что я не вижу ни одного условия if, удовлетворяющего делимому на 3 и5. Пожалуйста, объясните.
for (let n = 1; n <= 100; n++) { let output = ""; if (n % 3 == 0) output += "Fizz"; if (n % 5 == 0) output += "Buzz"; console.log(output || n); }
Использование output += ...; позволяет заполнять переменную с помощью FizzBuzz, если / когда итерация делится на 3 И 5.
output += ...;
Я не уверен, что понимаю вашу проблему
Вы не понимаете, почему иногда получаете FizzBuzz?
Например, когда n = 15, вы получаете его.
Потому что 15% 3 = 0 (15 = 3 * 5) и 15% 5 = 0 (15 = 5 * 3)
То же самое для 30, 45, 60, 75, 90.
И то, и другое, если условия оператора имеют значение true, поэтому добавляет «Fizz» и «Buzz» к «», что приводит к «FizzBuzz».Оператор + = добавляет текст к выводу.