Json数组合并并求出平均值

发布于 2022-09-06 00:05:49 字数 250 浏览 14 评论 0

现在有一个数组是这样的

var arr1=[{"语文":60,"数学":30,"音乐":40},{"语文":30,"数学":10},{"英语":60,"数学":60}]

现在我要生成一个json
内容为:该数组中一样的key值生成出来的value值为一个平均值 不相同的就是原来的数
具体为这样
var json={"语文":45,"数学":33.3,"音乐":40,"英语":60}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

软糯酥胸 2022-09-13 00:05:49
const arr1=[{"语文":60,"数学":30,"音乐":40},{"语文":30,"数学":10},{"英语":60,"数学":60}]
const output = {}
const record = {}
arr1.forEach((object) => {
  for (let v in object) {
    if (!output[v]) {
      record[v] = 1
      output[v] = object[v]
    } else{
      record[v] += 1
      output[v] += object[v]
    }
  }
})
for (let v in record) {
  output[v] = output[v] / record[v]
}
console.log(output)
console.log(record)
帅的被狗咬 2022-09-13 00:05:49
var json = new Object();
var count = new Object();
for(var i in arr1){
    var obj = arr1[i]
    for(var x in obj){
        if (typeof json[x] == 'undefined'){
            count[x] = 1;
            json[x] = parseInt(obj[x]);
        }else{
            count[x] += 1;
            json[x] += parseInt(obj[x]);
        }
    }
}
for(var c in count){
    json[c] = (json[c] / count[c]).toFixed(1);
}
JSON.stringify(json)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文