Javascript For Loop 替代将初始变量设置为 1?

标签 javascript arrays loops for-loop

我制作了一个 javascript,它将给出输入到数组中的所有数字的阶乘(减去数组中的第一个数字“0”,我必须将它放在那里用于填充目的以使代码正确运行)

fact = [0, 4, 2, 5, 3];
factorial = 1;
for (x = 1; x < fact.length; x++) {
for (i = 1; i <= fact[x]; i++) {
 factorial *= i;
 if (fact[x] === i) {
    console.log(fact[x] + "!" + " " + "=" + " " + factorial);
     factorial = 1;
   }
  }
 }``

console.log 这里一切正常:

4! = 24

2! = 2

5! = 120

3! = 6

我的问题是如何将变量 x 和 i 的初始值更改为 0,这样我就可以删除数组中的空间持有者“0”,而不会将所有内容输出为 0,因为目前如果我将变量设置为 0 以启动和删除我数组中的空间持有者“0”等式变为:

factorial *= 0;

这将使一切都为零,我不希望这样!非常抱歉,我的问题措辞不佳,感谢您的帮助!

最佳答案

jsFiddle Demo

您可以像这样用 while 循环替换内部 for 循环:

var fact = [4, 2, 5, 3];
for (x = 0; x < fact.length; x++) {
 var factorial = fact[x];
 var result = 1;
 while( factorial > 0 ){
  result *= factorial--;        
 }
 console.log(fact[x] + "!" + " " + "=" + " " + result);
}

关于Javascript For Loop 替代将初始变量设置为 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19555771/

相关文章:

javascript - 从选择框中删除项目

arrays - 如何在 MATLAB 中找到 3D 数组每个切片的最大值和位置?

c - 在 C 中使用 Do While [查找错误]

loops - 访问 Twig 循环中的下一个值

javascript - 在 AJAX JSF 请求后重新加载 Javascript

javascript - extjs同一列的两种对齐方式

php - 用多维数组中的下划线替换数组键空间

r - 在R中快速生成数字序列的方法

javascript - CSS3 跳跃动画?

arrays - 查询嵌套在 JSON 数组深处的数据的最有效方法?