我正在写一个Javascript并需要帮助......
var h, A, B, C, D, Answer;
h = [[0.1, 0.2, 0.3, 0.4], [0.4, 0.3, 0.2, 0.1]]
A = h[0][0]*h[1][0]
B = h[0][1]*h[1][1]
C = h[0][2]*h[1][2]
D = h[0][3]*h[1][3]
Answer = (A+B+C+D)/4
document.write (Answer);

我想找到矩阵的平均值如下所示?我希望我的程序找到样品1和样品2的平均值。实施例:样品1具有以下基质:[0.1,0.2,0.3,0.4],样品2具有以下[0.4,0.3,0.2,0.1] 。 我的解决方案是:{0.1 * 0.4 + 0.2 * 0.3 + 0.3 * 0.2 + 0.4 * 0.1} / 4 = 0.05
如何使用for循环构建代码? 感谢
答案 0 :(得分:1)
您可以使用Array.reduce()函数。
var h, Answer;
h = [[0.1, 0.2, 0.3, 0.4], [0.4, 0.3, 0.2, 0.1]];
Answer = h[0].reduce(function(previousValue, currentValue, index, array) {
return previousValue + currentValue*h[1][index]/array.length;
},0);
alert(Answer);
更多详情:documentation
使用循环
var h, Answer;
h = [[0.1, 0.2, 0.3, 0.4], [0.4, 0.3, 0.2, 0.1]];
var length = h[0].length;
Answer=0;
for (var i=0; i<length; i++){
Answer += (h[0][i]*h[1][i])/length;
}
alert(Answer);