JavaScript: Найди Fizz и Buzz
fizzBuzz.js
Реализуйте и экспортируйте по умолчанию функцию, которая выводит (console.log
) в терминал числа в диапазоне от begin
до end
. При этом:
- Если число делится без остатка на
3
, то вместо него выводится словоFizz
- Если число делится без остатка на
5
, то вместо него выводится словоBuzz
- Если число делится без остатка и на
3
, и на5
, то вместо числа выводится словоFizzBuzz
- В остальных случаях выводится само число
Функция принимает два параметра (begin
и end
), определяющих начало и конец диапазона (включительно). Для простоты считаем, что эти параметры являются целыми числами больше нуля. Если диапазон пуст (в случае, когда begin > end
), то функция просто ничего не печатает.
Вызов функции:
fizzBuzz(11, 20);
Вывод в терминале:
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Это задание крайне часто задают на собеседованиях.
Для полного доступа к испытанию нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Отзывы

Да, тернарные операторы - крутая вещь. Ну, а я по старинке пользуюсь рекурсией. И всё бы хорошо, но при отладочной печати в хвост вывода добавлялся undefined
. Больше 2 часов потратил на поиск ошибки в коде. Всё без толку. Пока, наконец, не дошло, что console.log
- это функция с побочным(!) эффектом.
Пришлось повторить пройденный материал из урока Функции и побочные эффекты