What wrong with this way?
var arr =[];
var result = 0;
function factorialize(num) {
if (num != 0) {
for (var i = 1; i <= num; i++) {
arr.push(i);
}
result = arr.reduce(function(x,y){
return x*y;
}); return result;
} else return 1;
}