我使用以下代码来查询 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(使用前将#替换为@)