3419
Студентов
97%
Завершения
Обновлено: 22 марта, 21:13

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

Это задание крайне часто задают на собеседованиях.

Для полного доступа к испытанию нужна профессиональная подписка

Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
115
курсов
892
упражнения
2241
час теории
3196
тестов

Впечатления

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

Пришлось повторить пройденный материал из урока Функции и побочные эффекты