JavaScript中的累积乘积

JavaScript中的累积乘积,javascript,Javascript,我有以下格式的数据: 1.09 1.05 0.94 0.77 1.09 1.21 0.83 如何以JavaScript输出累积产品?在Excel中,这类似于:=产品(A$1:A1),结果是: 1.09 1.09 1.05 1.14 0.94 1.08 0.77 0.83 1.09 0.90 1.21 1.09 0.83 0.91 我只需运行一个forEach循环,它将更新一个外部变量,如下面的代码示例所示 var in = dataset; //De

我有以下格式的数据:

1.09
1.05
0.94
0.77
1.09
1.21
0.83
如何以JavaScript输出累积产品?在Excel中,这类似于:
=产品(A$1:A1)
,结果是:

1.09    1.09
1.05    1.14
0.94    1.08
0.77    0.83
1.09    0.90
1.21    1.09
0.83    0.91

我只需运行一个forEach循环,它将更新一个外部变量,如下面的代码示例所示

var in = dataset; //Define the initial dataset
var out = 1; //Define the output (Using 1 because 1 is the multiplicative identity)
in.forEach(function(element){ //Looping over every element in 'in'
    out *= element; //Setting out = out*element
}
console.log(out); //Outputting the final output

这应该是实现目标的最简单方法。

感谢所有给出(建设性)答案的人。以下是我的解决方案:

input = [1.09,1.05,0.94,0.77,1.09,1.21,0.83]
output = []
x = 1
for (i = 0; i < input.length; i++){
x = x * input[i]
output.push(x)
}
input=[1.09,1.05,0.94,0.77,1.09,1.21,0.83]
输出=[]
x=1
对于(i=0;i
应该是“带代码”。使用循环和变量来保存累积值-我建议使用数组#如果您的数据是数组,则减少-除了问题中数据的“格式”对javascript没有任何用处-因此您需要做的第一件事是将数据转换为某种“兼容”的格式在javascript编码实践中,您似乎有过javascript的历史。如果你继续这种提问而不是搜索的模式,你很可能最终会被禁止提问。请投入更多的时间为自己寻找答案,只有当你陷入一个具体的、可回答的问题时才提问。@zzzzBov什么是“禁止提问”?@guest271314
reduce
会是一个更好的方法,但请不要喂吸血鬼。@zzzzBov“喂吸血鬼”是什么意思?@zzzzBov啊哈,我现在明白了。谢谢你的链接!我喜欢讽刺的幽默。