RosettaCodeData/Task/Factorial/JavaScript/factorial-7.js

21 lines
394 B
JavaScript

(function (n) {
'use strict';
// factorial :: Int -> Int
let factorial = (n) => range(1, n).reduce(product, 1);
// product :: Num -> Num -> Num
let product = (a, b) => a * b,
// range :: Int -> Int -> [Int]
range = (m, n) =>
Array.from({
length: (n - m) + 1
}, (_, i) => m + i)
return factorial(n);
})(18);