我有两个不同的JSON对象。一个对象是empList,另一个是holidayList。我想从每个JSON对象添加小时,并将小时总和推送到sumHoursList JSON对象。我正在使用Angular6进行此操作。我没有确切地知道如何重复此操作以获得所需的结果。基本上,我想从empList的数据列表中添加小时,也要从假期列表中添加小时,总和值应追加到sumhourlist
下面是我的代码。
this.empList = [
{
'id': 1,
'name': 'Name1',
datalist: [
{
"date": 1,
"hours": 6
},
{
"date": 2,
"hours": 0
},
{
"date": 3,
"hours": 12
}
]
},
{
'id': 2,
'name': 'Name2',
datalist:[
{
"date": 1,
"hours": 0
},
{
"date": 2,
"hours": 8
},
{
"date": 3,
"hours": 0
}
]
},
];
this.holidayList=[
{
"date": 1,
"hours": 0
},
{
"date": 2,
"hours": 8
},
{
"date": 3,
"hours": 12
}
]
sumHoursList = [
{
"date": 1,
"hours": 6
},
{
"date": 2,
"hours": 16
},
{
"date": 3,
"hours": 24
}
]
谁能帮我怎么做。
这就是我对问题的理解。您希望每个日期将小时数相加。通过此循环,如果数据列表,则emp数组可以包含一个动态数字。
let empList = [
{
'id': 1,
'name': 'Name1',
datalist: [
{
'date': 1,
'hours': 6
},
{
'date': 2,
'hours': 0
},
{
'date': 3,
'hours': 12
}
]
},
{
'id': 2,
'name': 'Name2',
datalist: [
{
'date': 1,
'hours': 0
},
{
'date': 2,
'hours': 8
},
{
'date': 3,
'hours': 0
}
]
},
]
let holidayList = [
{
'date': 1,
'hours': 0
},
{
'date': 2,
'hours': 8
},
{
'date': 3,
'hours': 12
}
]
let sum = holidayList
empList.forEach((emp) => {
emp.datalist.forEach((obj, i) => {
sum[i].hours = sum[i].hours + obj.hours
})
})
console.log(sum)