函数给出输入数*数组的长度而不是输入数*数组值(javascript)

时间:2016-08-27 19:24:12

标签: javascript

如果我使用数字5作为输入,我希望我的函数返回5 * 4 * 3 * 2 * 1。 问题是我的每个循环返回5 * 5,这意味着输入乘以我的数组的长度而不是输入乘以数组的值(应该是4,3,2,1)。

function FirstFactorial(num) {
var a = 1;
var numbers = new Array();

for (var i = 0; i < num; i++){
    numbers[i] = a;
    a++;
}

for (integer in numbers){
    factor = num * numbers[integer];
}    
return factor;    
}   

FirstFactorial(5);       
//EXPECTED OUTPUT: 5*4*3*2*1 = 120

1 个答案:

答案 0 :(得分:-1)

做那样的

function FirstFactorial(num){
   var result = 1;
   while(num > 0){
     result = num*result;
     num--;
   }
 return result;
}