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

28 lines
435 B
JavaScript

(function () {
'use strict';
// factorial :: Int -> Int
function factorial(x) {
return range(1, x)
.reduce(function (a, b) {
return a * b;
}, 1);
}
// range :: Int -> Int -> [Int]
function range(m, n) {
var a = Array(n - m + 1),
i = n + 1;
while (i-- > m) a[i - m] = i;
return a;
}
return factorial(18);
})();