javascript - 如何使用javascript在json中动态添加两个键值并显示在另一个键值中

标签 javascript json node.js

我有以下 json

var data = {
    "total": "",
    "scores": [{
        "subject": "maths",
        "marks": "50"
    }, {
        "subject": "science",
        "marks": "75"
    }]
};

现在在总数中,值应该是 125,应该会自动更新。 同样在分数键中,值将动态出现。因此所有分数都应自动添加并显示在总计中。 那么我怎么能用任何 javascript 来做到这一点。 有人能帮我吗。 谢谢!

预期

var data = {
    "total": "125",
    "scores": [{
        "subject": "maths",
        "marks": "50"
    }, {
        "subject": "science",
        "marks": "75"
    }]
};

最佳答案

可以使用reduce()计算total然后赋给data.total

var data = {
  "total": "",
  "scores": [{
    "subject": "maths",
    "marks": "50"
  }, {
    "subject": "science",
    "marks": "75"
  }]
}

var total = data.scores.reduce(function(a, b) {
  return a + parseInt(b.marks);
}, 0)

data.total = total;
console.log(data)

关于javascript - 如何使用javascript在json中动态添加两个键值并显示在另一个键值中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39787766/

相关文章:

javascript - 在 IE 中访问嵌套 iframe 中的 javascript 函数

javascript - 为什么 jQuery 对单个命令执行不需要的多个操作?

javascript - 滚动后更改对象颜色

json - Go-复制结构之间的所有公共(public)字段

javascript/vue.js 接收json

javascript - 如何在Nodejs中模拟外部依赖方法回调参数?

javascript - 如何通过http进行jsonschemavalidation?

javascript - 将 url 链接添加到轮播文本

java - Spring boot 请求与调度的映射

node.js - 让node.js程序阻止系统进入休眠模式