首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过数组中嵌套的key进行分组,并在javascript中计算sum,avg?

在JavaScript中,可以通过数组中嵌套的key进行分组,并计算sum和avg。下面是一个实现的示例代码:

代码语言:txt
复制
// 原始数据
const data = [
  { category: 'A', value: 10 },
  { category: 'B', value: 20 },
  { category: 'A', value: 30 },
  { category: 'B', value: 40 },
  { category: 'C', value: 50 }
];

// 分组并计算sum和avg
const result = data.reduce((acc, obj) => {
  const key = obj.category;
  if (!acc[key]) {
    acc[key] = { sum: 0, count: 0 };
  }
  acc[key].sum += obj.value;
  acc[key].count++;
  return acc;
}, {});

// 计算avg
Object.keys(result).forEach(key => {
  result[key].avg = result[key].sum / result[key].count;
});

console.log(result);

上述代码中,我们使用reduce方法对原始数据进行遍历和分组。通过category作为分组的key,累加每个分组的value值,并记录每个分组的元素个数。最后,通过遍历结果对象,计算每个分组的平均值(avg)。

这个问题涉及到了JavaScript中的数组操作和对象操作。在实际开发中,可以根据具体需求进行适当的优化和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券