DEV Community

Discussion on: [Challenge] 🐝 FizzBuzz without if/else

Collapse
 
neohed profile image
Dave • Edited
const fb = n => [...Array(n).keys()].map(n => n+1).map(n =>
    (n % 5 === 0 && n % 3 === 0) && 'FizzBuzz'
     || (n % 5 === 0) && 'Buzz'
     || (n % 3 === 0) && 'Fizz'
     || n
  );
Enter fullscreen mode Exit fullscreen mode
Collapse
 
neohed profile image
Dave • Edited

An alternative using recursion instead of native methods.

const fb = n =>
    n && (
        fb(n - 1)
        + (
                (!(n % 3 && n % 5) && 'FizzBuzz')
                || (!(n % 3) && 'Fizz')
                || (!(n % 5) && 'Buzz')
                || n
        ) + ' '
    );

console.log(fb(30))
Enter fullscreen mode Exit fullscreen mode