将多个数组的每一项的平均值放入一个数组中

Mar*_*der 5 html javascript arrays jquery underscore.js

好吧,我的大脑正在融化......我正在努力完成以下任务:

我知道有多少个数组以及每个数组有多少个元素。 这些数字是动态的,但可以说有: 3 个数组,每个数组有 18 个元素。

例子:

["106","142","112","77","115","127","87","127","156","118","91","93","107","151","110","79","40","186"]

["117","139","127","108","172","113","79","128","121","104","105","117","139","109","137","109","82","137"]

["111","85","110","112","108","109","107","89","104","108","123","93","125","174","129","113","162","159"]
Run Code Online (Sandbox Code Playgroud)

现在我想获得所有三个数组的元素 1 的平均值,以及所有三个数组的元素 2 的平均值,依此类推。

最终结果应该是一个数组,其中包含所有 18 个元素的平均值。

就像是:

var result_array = [];
for (i = 0; i < 3; i++) {  
  result_array.push(arrayone[i] + arraytwo[i] + arraythree[i]) / 3
}
Run Code Online (Sandbox Code Playgroud)

如果 3 是固定的,这将起作用,但数组的数量是动态的。

希望这是有道理的...

Cra*_*ith 5

var arrays = [
    [106,142,112,77,115,127,87,127,156,118,91,93,107,151,110,79,40,186],
    [117,139,127,108,172,113,79,128,121,104,105,117,139,109,137,109,82,137],
    [111,85,110,112,108,109,107,89,104,108,123,93,125,174,129,113,162,159],
    [104,153,110,112,108,109,107,89,104,108,123,93,125,174,129,113,162,159]
    /* Can be any amount of arrays */
    ],
    result = [];

//Rounding to nearest whole number.
for(var i = 0; i < arrays[0].length; i++){
  var num = 0;
  //still assuming all arrays have the same amount of numbers
  for(var i2 = 0; i2 < arrays.length; i2++){ 
    num += arrays[i2][i];
  }
  result.push(Math.round(num / arrays.length));
}

alert(result);
Run Code Online (Sandbox Code Playgroud)