javascript - 在不同数字的数组中查找平均值
问题描述
我觉得我的标题表达得不是很好,如果你理解我的问题,有人可以纠正它。
我有一个数组
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 的块
- 计算块数。在这种情况下,它应该是 6 个块。
计算每个位置的所有块的数量之和,然后除以块的总数。在这种情况下,
(1+6+3+4+5+2)/6, (2+7+4+6+6+3)/6, ..., (5+0+1+3+3+6)/6
以数组形式返回结果
var result = [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;
}
推荐阅读
- r - 如何在 ggplot boxplot 中仅抖动异常值?
- sql - 我应该使用什么作为 SQL Server 中 json 列的默认值?
- javascript - webrtc 音频设备断开和重新连接
- java - 我正在尝试生成列表列表以返回帕斯卡三角形
- c# - 需要阻止 numericupdown 更改数字
- php - 通过 Cron 运行 PHP 脚本
- c++ - 在 CentOS 7 上使用带有 libc++ 的 Clang 时缺少符号(没有 C++ ABI 库?)
- python - 如何编写 python 文件以在 mac 上使用终端选项
- prolog - PROLOG 堆栈溢出递归乘法
- c - 如何从文本文件中分离二进制字符串并将它们存储在一维或二维字符数组中?