在 JavaScript 中创建嵌套对象值的 SUM

2023-11-30

我使用以下代码来查询 API,该代码可以很好地返回 JSON 中的嵌套值:

const obj = response.data.map(function(item) {

return [item.id, item.jobNumber];
});

JSON 示例:

{
 "data": [
  {
     "id": 100,
     "jobNumber": 1,
     "jobTasks": [
        {
           "id": 12,
           "cost": {
              "amountString": 100
           },
           {
           "id": 13,
           "cost": {
              "amountString": 500
           }
         }
     }
  ]
},
  {
     "id": 101,
     "jobNumber": 2,
     "jobTasks": [
        {
           "id": 14,
           "cost": {
              "amountString": 100
           },
          {
           "id": 15,
           "cost": {
              "amountString": 200
           }
         }
     }]

}]
}

我现在想循环嵌套的作业任务,并对item.jobTasks.cost.amountString对于每个作业,可以返回以下内容:

  • JobNumber1:任务成本:600
  • JobNumber2:任务成本:300

您可以使用reduce方法接受一个callback method.

另外,使用forEach方法以便迭代data items.

var json={
 "data": [
  {
     "id": 100,
     "jobNumber": 1,
     "jobTasks": [
           {
           "id": 12,
           "cost": {
              "amountString": 100
            }
           },
           {
           "id": 13,
           "cost": {
              "amountString": 500
            }
           }
      ]
  },
  {
     "id": 101,
     "jobNumber": 2,
     "jobTasks": [
          {
           "id": 14,
           "cost": {
              "amountString": 100
           }
           },
          {
           "id": 15,
           "cost": {
              "amountString": 200
           }
          }
    ]

}]
}
json.data.forEach(function(item){
  var sum=item.jobTasks.reduce(function(sum,elem){
     return sum+elem.cost.amountString;
  },0);
   console.log('jobNumber'+item.jobNumber+' '+sum);
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JavaScript 中创建嵌套对象值的 SUM 的相关文章

随机推荐