supasympa
5/3/2017 - 10:58 PM

My JavaScript fizz buzz

My JavaScript fizz buzz

console.log('fizzbuzz.js');

const checker = (mod) => (num) => num % mod === 0; 
const isFizz = (num) => checker(3)(num) ;
const isBuzz = (num) => checker(5)(num) ;
const isFizzBuzz = (num) => isFizz(num) && isBuzz(num);

const fizzBuzzCheck = (num) => {
	let fizzBuzz = num;
	
  if(num === 0) return 0;
  
	fizzBuzz = isFizz(num) ? 'fizz' : fizzBuzz;
	fizzBuzz = isBuzz(num) ? 'buzz' : fizzBuzz ;
	fizzBuzz = isFizzBuzz(num) ? 'fizzbuzz' : fizzBuzz;
	
	return fizzBuzz;
}

const fizzBuzz = (numbers) => numbers.map(fizzBuzzCheck);

const createArr = (N) => Array.apply(null, {length: N}).map(Number.call, Number);

console.log(JSON.stringify(fizzBuzz(createArr(999))));