我怎样才能乘以这个数组中的元素?

How can I multiply the elements in this array?

目标是将 1 到 n 的所有元素相乘。我可以获得这些数字的数组,但需要将它们相乘:

function factorialize(num) {
  var array = [];
  for (var i = 1; i <= num; i++) {
    array.push(i);
  }
  return array;
}

factorialize(5);

如何 return 我的阵列的产品?

在这种情况下,我想我们可以充分利用 .reduce 方法来快速获取数组的乘积。

function factorialize(num) {
  var array = [];
  for (var i = 1; i <= num; i++) {
        array.push(i);
  }
  return array.reduce(function (a, b) {
        return a * b;
  });
}

factorialize(5);

查看这个 JSFiddle:https://jsfiddle.net/sak6hkab/

你在乘法之前构建一个数字数组是在混淆问题。该数组在这里没有实际用途。这是一个简单的递归,但是如果传递的数字为零或更少,您应该警惕(无论您使用什么解决方案)您正在做什么:

function factorialize(num) {
  if (num <= 1) {
    return 1;
  } else {
    return (num * factorialize(num - 1));
  }
}

factorialize(5);