我怎样才能乘以这个数组中的元素?
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);
目标是将 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);