Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
19
Task/General-FizzBuzz/JavaScript/general-fizzbuzz-3.js
Normal file
19
Task/General-FizzBuzz/JavaScript/general-fizzbuzz-3.js
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
// range :: Int -> Int -> [Int]
|
||||
const range = (min, max) =>
|
||||
Array.from({ length: max - min }, (_, i) => min + i)
|
||||
|
||||
const defaultRules = Object.freeze([
|
||||
[3, 'Fizz'],
|
||||
[5, 'Buzz'],
|
||||
[7, 'Baxx'],
|
||||
])
|
||||
|
||||
// fizzBuzz :: Int -> [[Int, String]] -> String
|
||||
const fizzBuzz = (max, rules = defaultRules) =>
|
||||
range(1, max + 1).map(n =>
|
||||
rules.reduce((words, [factor, word]) =>
|
||||
words + (n % factor ? '' : word), ''
|
||||
) || n
|
||||
).join('\n')
|
||||
|
||||
console.log(fizzBuzz(20))
|
||||
Loading…
Add table
Add a link
Reference in a new issue