汇总对象数组并计算每个唯一对象名称的平均值

用户名

我有一个像这样的数组:

var array = [
     {
       name: "a",
       value: 1 
     },
     {
       name: "a",
       value: 2 
     },
     {
       name: "a",
       value: 3 
     },
     {
       name: "b",
       value: 0 
     },
     {
       name: "b",
       value: 1 
     }
 ];

我需要这样的数组:

var newarray = [
     {
       name: "a",
       value: 2
     },
     {
       name: "b",
       value: 0.5
     }
 ]

新数组将每个唯一名称作为具有平均值的对象。

有没有简单的方法可以做到这一点?

聚苯乙烯

您必须遍历数组,计算每个对象的总和和计数。这是一个快速实现:

function average(arr) {
    var sums = {}, counts = {}, results = [], name;
    for (var i = 0; i < arr.length; i++) {
        name = arr[i].name;
        if (!(name in sums)) {
            sums[name] = 0;
            counts[name] = 0;
        }
        sums[name] += arr[i].value;
        counts[name]++;
    }

    for(name in sums) {
        results.push({ name: name, value: sums[name] / counts[name] });
    }
    return results;
}

示范

请注意,如果您使用Underscore.js之类的库,可以使这种事情变得容易得多

var averages = _.chain(array)
                .groupBy('name')
                .map(function(g, k) {
                    return { 
                        name: k, 
                        value: _.chain(g)
                                .pluck('value')
                                .reduce(function(x, y) { return x + y })
                                .value() / g.length
                    };
                })
                .value();

示范

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

遍历数组对象并计算平均值

来自分类常见问题

对象内部数组的平均值

来自分类Dev

获取数组中对象的平均值

来自分类Dev

根据唯一行名称计算数据框子集的平均值

来自分类Dev

使用相同的索引/变量名称计算多个对象的平均值 [javascript/jquery]

来自分类Dev

python for循环以计算每个数组段的平均值

来自分类Dev

如何计算每个类的数组的平均值?

来自分类Dev

MongoDB-计算对象属性嵌套数组的平均值

来自分类Dev

ReactJS:在渲染期间从JSON对象中的字符串数组计算平均值

来自分类Dev

改造如何解析没有对象名称的唯一数组?

来自分类Dev

生成器对象列表的计算平均值

来自分类Dev

如何使用类对象的get方法计算平均值?

来自分类Dev

localStorage 的唯一对象数组

来自分类Dev

如何随机生成唯一的未使用对象名称

来自分类Dev

显示唯一的对象名称及其出现次数

来自分类Dev

在 Kotlin 中生成唯一的 json 对象名称 gson

来自分类Dev

数组中多个对象的总和和平均值

来自分类Dev

如何汇总对象数组中的相似属性

来自分类Dev

计算每个对象数组的平均得分

来自分类Dev

计算每个用户输入的平均值

来自分类Dev

Javascript从对象创建唯一对象的数组

来自分类Dev

Python - 唯一值的平均值

来自分类Dev

pandas DataFrame-在不对每个索引标签进行硬编码的情况下,为每个唯一索引计算一列的平均值?

来自分类Dev

计算NumPy中数组的平均值

来自分类Dev

从JavaScript数组计算平均值

来自分类Dev

计算数组的平均值

来自分类Dev

从数组中读取并计算平均值

来自分类Dev

计算数组c ++的平均值

来自分类Dev

另一列的每个唯一值的30个最新数据点的平均值

Related 相关文章

热门标签

归档