我觉得我的标题措辞不太好,如果你理解我的问题,请有人纠正它。
我有一个数组
arr = [1,2,3,4,5,
6,7,8,9,0,
3,4,7,2,1,
4,6,1,2,3,
5,6,8,9,3
2,3,4,5,6
]
我想做几件事
- 将其分成大小为 5 的 block
- 计算 block 的数量。在这种情况下,它应该是 6 个 block 。
计算每个位置所有 block 的数量总和,然后除以总 block 数。在这种情况下,
(1+6+3+4+5+2)/6, (2+7+4+6+6+3)/6, ..., (5+0+1+3 +3+6)/6
以数组形式返回结果
var 结果 = [3.5, 4.66, ..., 3]
我有想法,但不确定如何实现。
谢谢
最佳答案
我相信这段代码可以完成您想要的。
function averageValues (arr) {
var chunks = Math.ceil(arr.length / 5); // find the number of chunks
var sums = [0, 0, 0, 0, 0]; // keep a running tally
for (var i = 0; i < arr.length; i ++) {
sums[i % 5] += arr[i]; // add each element to the proper part of the sum
}
for (var i = 0; i < sums.length; i ++) {
sums[i] /= chunks; // divide each part of the sum by the number of chunks
}
return sums;
}
关于javascript - 在不同数字的数组中查找平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51521513/