← Back to libraryQuestion 152 of 468
🧩JavaScript CodingBeginner

FizzBuzz

📌 Definition:

Print numbers 1..n, but for multiples of 3 print 'Fizz', multiples of 5 print 'Buzz', and multiples of both print 'FizzBuzz'.

📖 Detailed Explanation:

The classic screening question. Check divisibility by 15 first (or build the string incrementally), because a naive 3-then-5 ordering that returns early misses the FizzBuzz case.

💻 Solutions:
function fizzBuzz(n) {
  const out = [];
  for (let i = 1; i <= n; i++) {
    let s = '';
    if (i % 3 === 0) s += 'Fizz';
    if (i % 5 === 0) s += 'Buzz';
    out.push(s || String(i));
  }
  return out;
}
🔑 Key Points:
  • Build the string incrementally to avoid the %15 special case
  • Order matters if you return early
  • % is the modulo operator
  • O(n) time
🌍 Real-World Example:

FizzBuzz filters candidates who cannot translate simple rules into code; the elegant version shows you avoid redundant branches.

🎯 Scenario-Based Interview Question:

A candidate writes if (i%3===0) 'Fizz' else if (i%5===0) 'Buzz' else i — 15 prints 'Fizz' not 'FizzBuzz'. Fix it.