将数组中的所有元素相乘 [英] Multiply all elements in array

查看:1360
本文介绍了将数组中的所有元素相乘的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在这里找不到一个我真正想要的例子。
我想将所有数组元素相乘,所以如果一个数组包含[1,2,3],则总和将为1 * 2 * 3 = 6;
到目前为止,我已经得到了这段代码,但它返回了undefined。

I couldn't find an example here what I'm really looking for. I'd like to multiply all array elements, so if an array contains [1,2,3] the sum would be 1*2*3=6; So far I've got this code, but it returns 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]);



有人可以解释一下,我在这里缺少什么?提前致谢!



先生,您忘了添加数组变量!
函数绘制一个变量,所以:

Could anyone please explain, what am I missing here? Thanks in advance!

Here Sir, you forgot to add the array variable! The function spects a variable, so:

function multiply (array) {
    var sum = 1;
    for (var i = 0; i < array.length; i++) {
        sum = sum + array[i]:
    }
    return sum;
}
console.log(multiply(array));


推荐答案

原因已为人所知。这是另一种选择 - 使用 Array.reduce 为您的方法:

The cause is already known. Here's an alternative - using Array.reduce for your method:

[1, 2, 3].reduce( (a,b) => a * b ); //=> 6

另见

这篇关于将数组中的所有元素相乘的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆