Skip to content

Instantly share code, notes, and snippets.

@andreobriennz
Last active July 26, 2019 05:35
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andreobriennz/37a47d41358a408f98b44ca2ea1636da to your computer and use it in GitHub Desktop.
Save andreobriennz/37a47d41358a408f98b44ca2ea1636da to your computer and use it in GitHub Desktop.
Functional / Declarative FizzBuzz
const isFizz = number => number % 5 === 0
const isBuzz = number => number % 3 === 0
const newArrayInRange = (min, max) => [...Array(max + 1).keys()].slice(min)
const fizzBuzz = (min, max) => newArrayInRange(min, max)
.map(number => {
if (isFizz(number) && isBuzz(number)) {
return 'fizzbuzz'
}
if (isFizz(number)) {
return 'fizz'
}
if (isBuzz(number)) {
return 'buzz'
}
return number
})
.join('\n')
console.log(fizzBuzz(1, 100))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment