如何使用javascript将具有数组的对象连接到单个数组中?

如何使用javascript将具有数组的对象连接到单个数组中?,javascript,arrays,object,Javascript,Arrays,Object,这就是我所拥有的(wealthByDistribution),我需要一个类似(expectedArray)的解决方案 const wealthByDistribution={ 支票账户:[ { “年份”:2016年, “月”:4, “价值”:10 }, { “年份”:2016年, “月”:5, “值”:0 }, { “年份”:2016年, “月”:6, “值”:0 }, { “年份”:2016年, “月”:7, “值”:0 } ], 公司:[ { “年份”:2016年, “月”:4, “值”:0

这就是我所拥有的(
wealthByDistribution
),我需要一个类似(
expectedArray
)的解决方案

const wealthByDistribution={
支票账户:[
{
“年份”:2016年,
“月”:4,
“价值”:10
},
{
“年份”:2016年,
“月”:5,
“值”:0
},
{
“年份”:2016年,
“月”:6,
“值”:0
},
{
“年份”:2016年,
“月”:7,
“值”:0
}
],
公司:[
{
“年份”:2016年,
“月”:4,
“值”:0
},
{
“年份”:2016年,
“月”:5,
“值”:0
},
{
“年份”:2016年,
“月”:6,
“值”:0
},
{
“年份”:2016年,
“月”:7,
“价值”:110
}
],
投资帐户:[
{
“年份”:2016年,
“月”:4,
“值”:0
},
{
“年份”:2016年,
“月”:5,
“值”:0
},
{
“年份”:2016年,
“月”:6,
“值”:0
},
{
“年份”:2016年,
“月”:7,
“价值”:220
}
],
投资保险:[
{
“年份”:2016年,
“月”:4,
“值”:0
},
{
“年份”:2016年,
“月”:5,
“值”:0
},
{
“年份”:2016年,
“月”:6,
“值”:0
},
{
“年份”:2016年,
“月”:7,
“价值”:330
}
],
贷款:[
{
“年份”:2016年,
“月”:4,
“值”:0
},
{
“年份”:2016年,
“月”:5,
“值”:0
},
{
“年份”:2016年,
“月”:6,
“值”:0
},
{
“年份”:2016年,
“月”:7,
“值”:0
}
],
固定资产:[
{
“年份”:2016年,
“月”:4,
“值”:0
},
{
“年份”:2016年,
“月”:5,
“值”:0
},
{
“年份”:2016年,
“月”:6,
“值”:0
},
{
“年份”:2016年,
“月”:7,
“值”:0
}
]
}
const returnedExpectedArray=(wealthByDistribution)=>{
常数预期阵列=[]
返回预期阵列
}
预期成本=[
{
“年份”:2016年,
总资产:0,
贷款额:0,
投资保险:0,
投资账户:0,
支票账户:10,
公司:0,
“月”:4,
“值”:0
},
{
“年份”:2016年,
总资产:0,
贷款额:0,
投资保险:0,
投资账户:0,
检查帐户:0,
公司:0,
“月”:5,
“值”:0
},
{
“年份”:2016年,
总资产:0,
贷款额:0,
投资保险:0,
投资账户:0,
检查帐户:0,
公司:0,
“月”:6,
“值”:0
},
{
“年份”:2016年,
总资产:0,
贷款额:0,
投资保险:330,
投资账户:220,
检查帐户:0,
公司:110,
“月”:7,
“值”:0
}
]
如果有人能帮我的话,请告诉我,我已经试着解决这个问题很长时间了。我尝试了以下代码,但没有按预期工作

const wealthByDistributionKeys=Object.key(wealthByDistribution);
const[key,…rest]=分配键带来的财富;
const firstArray=wealthByDistribution[key]| |[];
const expectedArray=firstArray.map((项,i)=>{
item[键]=item.value;
返回Object.assign({},item,…rest.map(r=>{
财富分配[r][i][r]=财富分配[r][i]。价值;
按分配返回财富[r][i];
}));
});

通过使用相应的键,您可以收集年/月的所有值,并获得组合结果

const
wealthByDistribution={CheckingAccount:[{year:2016,month:4,value:10},{year:2016,month:5,value:0},{year:2016,month:6,value:0},{year:2016,month:7,value:0}],Company:[{year:2016,month:4,value:0},{year:2016,month:5,value:0},{year:2016,month:6,value:0},{year:2016,month:7,value:110}],投资账户:[年:2016,月:4,价值:0},{年:2016,月:5,价值:0},{年:2016,月:6,价值:0},{年:2016,月:7,价值:220}],投资保险:[年:2016,月:4,价值:0},{年:2016,月:5,价值:0},{年:2016,月:6,价值:0},{年:2016,月:7,价值:330}],贷款:[{年:2016,月:4,值:0},{年:2016,月:5,值:0},{年:2016,月:6,值:0},{年:2016,月:7,值:0},{年:2016,月:4,值:0},{年:2016,月:5,值:0},{年:2016,月:6,值:0},{年:2016,月:7,值:0},
结果=对象。值(对象
.条目(财富分配)
.减少((r[k,a])=>{
a、 forEach({年、月、值})=>{
常量键=[year,month].join(“|”);
r[键]??={年,月};
r[键][k]=值;
});
返回r;
}, {})
);
console.log(结果);

.as console wrapper{max height:100%!important;top:0;}
公司属性值背后的原因是什么?最后一个对象应该是
公司:0,“月”:7,“值”:110
,这真的是你想要的吗?我会想
公司:110,“月”:7,“值”:0
将更符合您正在执行的其他逻辑(同时,
'value'
属性值在预期输出对象中来自何处?)是的,您是正确的,公司:110,“月”:7,“值”:0。我的错误构造了预期结果。
值是什么:0
那么是从哪里来的?值对我来说无关紧要。我只需要连接数组并将对象的每个属性作为其值分配给它们,例如const wealthbydribution={CheckingAccount:[{“year”: