如何将包含多个对象的数组转换为单个对象
我想转换这样的东西:
[
{
'Kyber': {tokenSymbol: 'DAI', avgPrice: 1}
},
{
'Bamboo Relay': {tokenSymbol: 'DAI',avgPrice: 1}
}
]
对于这样的事情:
{
'Kyber': {tokenSymbol: 'DAI', avgPrice: 1},
'Bamboo Relay': {tokenSymbol: 'DAI',avgPrice: 1}
}
答案 0 :(得分:3)
const data =
[ { 'Kyber': { tokenSymbol: 'DAI', avgPrice: 1} }
, { 'Bamboo Relay': { tokenSymbol: 'DAI', avgPrice: 1} }
]
const result = data.reduce((a,c)=>
{
for (const [k,v] of Object.entries(c)) a[k]={...v}
return a
}, {})
答案 1 :(得分:0)
您可以通过遍历对象数组来实现该目的,对于每个对象,将该对象合并到结果对象中。以下解决方案可以帮助您
const data = [
{
Kyber: { tokenSymbol: 'DAI', avgPrice: 1 }
},
{
'Bamboo Relay': { tokenSymbol: 'DAI', avgPrice: 1 }
}
]
const res = {}
data.forEach(obj => {
Object.assign(res, obj)
})
console.log(res)