后端返回的数据,现在要把每一条listDetailed里面的数据和外面的合并。listDetailed里面有几条就生成几条新数据。
就是把下面的数据
{
"shipFid":"船舶编号",
"shipName":"船舶名称",
"shipCompanyFid":"船公司编号",
"shipCompanyName":"船公司名称",
"shipTotal":10.2,
"replacementFrequency":10,
"washFrequency":11,
"taskNumber":12,
"listDetailed":[
{
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头",
"workType":"主要货中",
"situation":"洗舱情况",
},
{
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头1",
"workType":"主要货中1",
"situation":"洗舱情况1",
}
]
},{
"shipFid":"船舶编号",
"shipName":"船舶名称",
"shipCompanyFid":"船公司编号",
"shipCompanyName":"船公司名称",
"shipTotal":10.2,
"replacementFrequency":10,
"washFrequency":11,
"taskNumber":12,
"listDetailed":[
{
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头",
"workType":"主要货中",
"situation":"洗舱情况",
},
{
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头1",
"workType":"主要货中1",
"situation":"洗舱情况1",
},
{
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头1",
"workType":"主要货中1",
"situation":"洗舱情况1",
}
]
},
变成这种格式
{
"shipFid":"船舶编号",
"shipName":"船舶名称",
"shipCompanyFid":"船公司编号",
"shipCompanyName":"船公司名称",
"shipTotal":10.2,
"replacementFrequency":10,
"washFrequency":11,
"taskNumber":12,
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头",
"workType":"主要货中",
"situation":"洗舱情况",
},{
"shipFid":"船舶编号",
"shipName":"船舶名称",
"shipCompanyFid":"船公司编号",
"shipCompanyName":"船公司名称",
"shipTotal":10.2,
"replacementFrequency":10,
"washFrequency":11,
"taskNumber":12,
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头",
"workType":"主要货中",
"situation":"洗舱情况",
},{
"shipFid":"船舶编号",
"shipName":"船舶名称",
"shipCompanyFid":"船公司编号",
"shipCompanyName":"船公司名称",
"shipTotal":10.2,
"replacementFrequency":10,
"washFrequency":11,
"taskNumber":12,
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头",
"workType":"主要货中",
"situation":"洗舱情况",
},{
"shipFid":"船舶编号",
"shipName":"船舶名称",
"shipCompanyFid":"船公司编号",
"shipCompanyName":"船公司名称",
"shipTotal":10.2,
"replacementFrequency":10,
"washFrequency":11,
"taskNumber":12,
"workStartTime":"2022-06-16",
"workEndTime":"2022-06-20",
"workPort":"装卸作业码头",
"workType":"主要货中",
"situation":"洗舱情况",
},
数据 层数 会 超过 2层吗?
循环遍历 合并 对象
let data = [
{
"shipFid": "船舶编号",
"shipName": "船舶名称",
"shipCompanyFid": "船公司编号",
"shipCompanyName": "船公司名称",
"shipTotal": 10.2,
"replacementFrequency": 10,
"washFrequency": 11,
"taskNumber": 12,
"listDetailed": [
{
"workStartTime": "2022-06-16",
"workEndTime": "2022-06-20",
"workPort": "装卸作业码头",
"workType": "主要货中",
"situation": "洗舱情况",
},
{
"workStartTime": "2022-06-16",
"workEndTime": "2022-06-20",
"workPort": "装卸作业码头1",
"workType": "主要货中1",
"situation": "洗舱情况1",
}
]
}, {
"shipFid": "船舶编号",
"shipName": "船舶名称",
"shipCompanyFid": "船公司编号",
"shipCompanyName": "船公司名称",
"shipTotal": 10.2,
"replacementFrequency": 10,
"washFrequency": 11,
"taskNumber": 12,
"listDetailed": [
{
"workStartTime": "2022-06-16",
"workEndTime": "2022-06-20",
"workPort": "装卸作业码头",
"workType": "主要货中",
"situation": "洗舱情况",
},
{
"workStartTime": "2022-06-16",
"workEndTime": "2022-06-20",
"workPort": "装卸作业码头1",
"workType": "主要货中1",
"situation": "洗舱情况1",
},
{
"workStartTime": "2022-06-16",
"workEndTime": "2022-06-20",
"workPort": "装卸作业码头1",
"workType": "主要货中1",
"situation": "洗舱情况1",
}
]
},
];
console.log(mergeData(data))
function mergeData(data) {
let arr = [];
data.map((item) => {
if (item.listDetailed) {
item.listDetailed.map((item1) => {
//合并 对象
let obj = { ...item, ...item1 };
//删除 listDetailed
delete obj.listDetailed;
// push到新数组中
arr.push(obj);
})
}
});
return arr;
}