将嵌套的对象数组转换为JavaScript或TypeScript中数据的特定对象组

将嵌套的对象数组转换为JavaScript或TypeScript中数据的特定对象组,javascript,arrays,typescript,object,Javascript,Arrays,Typescript,Object,我有一个双嵌套的对象数组,我想改为一个特定的组数组来支持我的表结构 下面是我的目标和我期待的结果 let newData={ 数据:{ 总结:[ { 代码:“12”, 数据:[ { 集团:“贸易”, 货币:“CAD”//group1 金额:“$3443.00”, 总数:1 }, { 集团:“贸易”, 货币:“美元”//group2 金额:“$0.00”, 总数:0 }, { 小组:“委员会”, 货币:“CAD”//group3 金额:“$0.00”, 总数:0 }, { 小组:“委员会”, 货

我有一个双嵌套的对象数组,我想改为一个特定的组数组来支持我的表结构

下面是我的目标和我期待的结果

let newData={
数据:{
总结:[
{
代码:“12”,
数据:[
{
集团:“贸易”,
货币:“CAD”//group1
金额:“$3443.00”,
总数:1
},
{
集团:“贸易”,
货币:“美元”//group2
金额:“$0.00”,
总数:0
},
{
小组:“委员会”,
货币:“CAD”//group3
金额:“$0.00”,
总数:0
},
{
小组:“委员会”,
货币:“美元”//group4
金额:“$0.00”,
总数:0
}
]
},
{
代码:“34”,
数据:[
{
集团:“贸易”,
货币:“CAD”//group1
金额:“$343.00”,
总数:21
},
{
集团:“贸易”,
货币:“美元”//group2
金额:“$40.00”,
总数:40
},
{
小组:“委员会”,
货币:“CAD”//group3
金额:“$30.00”,
总数:30
},
{
小组:“委员会”,
货币:“美元”//group4
金额:“$20.00”,
总数:20
}
]
}
]
}
};
让结果=[
{
代码:“12”,
贸易CAD:
{
集团:“贸易”,
货币:“CAD”//group1
金额:“$3443.00”,
总数:1
},
贸易美元:
{
集团:“贸易”,
货币:“美元”//group2
金额:“$0.00”,
总数:0
},
佣金CAD:{
小组:“委员会”,
货币:“CAD”//group3
金额:“$0.00”,
总数:0
},
佣金美元:{
小组:“委员会”,
货币:“美元”//group4
金额:“$0.00”,
总数:0
}
},
{
代码:“34”,
贸易CAD:
{
集团:“贸易”,
货币:“CAD”//group1
金额:“$343.00”,
总数:21
},
贸易美元:
{
集团:“贸易”,
货币:“美元”//group2
金额:“$40.00”,
总数:40
},
佣金CAD:{
小组:“委员会”,
货币:“CAD”//group3
金额:“$30.00”,
总数:30
},
佣金美元:{
小组:“委员会”,
货币:“美元”//group4
金额:“$20.00”,
总数:20
}
},

];试试这个,看看是否有效。如果愿意,可以将代码压缩为一个函数

const result=newData.data.summary.map(项=>{
常数res={
代码:item.code,
}
item.data.forEach(d=>{
res[`${d.group}${d.currency}`]=d;
d、 amount=d.amount | |“$0.00”;//amount的默认值
d、 total=d.total | | 0;//total的默认值
})
返回res;
});
log(JSON.stringify(result));

工作正常,谢谢。只是个问题。。如果对象丢失或任何属性不存在,我们如何处理空检查?您能提供一个示例吗?:-)如果此对象在代码“34”、货币“CAD”、代码“34”或代码“34”中缺失,那么我们如何检查此类情况?