首页 > 解决方案 > 计算 JSON 值的平均值

问题描述

我正在尝试计算 JSON 值的平均值,我尝试将它们添加到数组中但无法添加。有人可以帮忙吗?

我的代码:

Object.values(data).forEach(d => {
  var yo = d.values;
  console.log(yo);
});

我的结果:

9892308
9894522
3298714
3300055

我需要计算这些值的平均值。我怎么做?

将值推送到数组中的代码:

Object.values(data).forEach(d => {
  var theArray = [];
  var yo = d.values;
  theArray = theArray.push(yo);
  console.log(theArray);
});

结果:

  1

我无法为我推送这些值来计算数组。

标签: javascriptjqueryjsonforeachaverage

解决方案


您可以通过取值的第 n 个(长度)并将其添加到单个循环中的平均值来减少数据。

var data = { a: { values: 9892308 }, b: { values: 9894522 }, c: { values: 3298714 }, d: { values: 3300055 } },
    average = Object
        .values(data)
        .reduce((avg, { values }, _, { length }) => avg + values / length, 0);
        
console.log(average);


推荐阅读