javascript - 在不同数字的数组中查找平均值

标签 javascript arrays sorting

我觉得我的标题措辞不太好,如果你理解我的问题,请有人纠正它。

我有一个数组

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
      ]

我想做几件事

  1. 将其分成大小为 5 的 block
  2. 计算 block 的数量。在这种情况下,它应该是 6 个 block 。
  3. 计算每个位置所有 block 的数量总和,然后除以总 block 数。在这种情况下,

    (1+6+3+4+5+2)/6, (2+7+4+6+6+3)/6, ..., (5+0+1+3 +3+6)/6

  4. 以数组形式返回结果

    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/

相关文章:

用于按升序对 Excel 列进行排序并扩展选择的 VBA 代码?

javascript - 如何访问在node.js服务器文件中声明的数组

c - 从数组中扫描数字

javascript - 在javascript中自定义排序,基于另一个字段排序

javascript - WebRTC - 如何更改现有流的音轨

javascript - rollup.js slim 包未在 index.html 中激活

javascript - Firefox 中的 float 右对齐问题

javascript/jquery 下拉菜单选择不传递 GET 请求

c++ - 关于循环和数组的练习 - 使用循环 1 次以及如何获取数组的最大值

javascript - 二叉搜索树添加方法不对每个输入进行排序 - JavaScript