我在这里找不到一个我真正想要的例子。 我想将所有数组元素相乘,所以如果数组包含[1,2,3],则总和将为1 * 2 * 3 = 6; 到目前为止,我已经有了这个代码,但它返回undefined。
function multiply (array) {
var sum=1;
for (var i=0; i<array.length; i++) {
sum = sum * array[i];
}
return sum;
}
console.log(multiply[1,2,3]);
先生,您忘了添加数组变量! 该函数绘制一个变量,所以:
function multiply (array) {
var sum = 1;
for (var i = 0; i < array.length; i++) {
sum = sum + array[i]:
}
return sum;
}
console.log(multiply(array));
答案 0 :(得分:43)
答案 1 :(得分:9)
答案 2 :(得分:2)
使用Array.reduce
的另一种方法应该将初始值设置为1,否则我们的函数无论如何都将返回0。
[1, 2, 3].reduce((a, b)=> a*b, 1)
每个https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce
答案 3 :(得分:1)
你不是将乘法调用为函数:
multiply([1,2,3]);
答案 4 :(得分:0)
如果要乘以1,2,3之类的连续数字,则应用此代码并在控制台(arr)中输入数字
let array = [];
function factorisation(arr) {
for (let j = arr; j > 0; j--) {
array.push(j);
}
return multiply();
}
function multiply() {
var sum = 1;
for (var i = 0; i < array.length; i++) {
sum = sum * array[i];
}
return sum;
}
console.log(factorisation(5));
//5*4*3*2*1 = 120
答案 5 :(得分:0)
答案 6 :(得分:0)
reduce()方法为数组的每个值执行提供的函数,并将数组缩小为单个值
const arr = [1,2,3];
const sum = arr.reduce((prevValue,curValue) => {
return prevValue * curValue
},1);
console.log(sum);
prevValue 是初始值,在此示例中等于 1
curValue 是数组中当前元素的值