Javascript 将对象属性转换为对象数组
我想按ObjectA属性合并包含ObjectB属性的ObjectA数组 例如:Javascript 将对象属性转换为对象数组,javascript,dictionary,Javascript,Dictionary,我想按ObjectA属性合并包含ObjectB属性的ObjectA数组 例如: let myArray = [ { name: 'Jeu', series: { name: 'testA', value: '89' } }, { name: 'Dim', series: { name: 'testB', value: '490' } }, { name: 'Dim', series: { name: 'testC', value: '978' } } ] 我想把它转换成 [ {
let myArray = [
{ name: 'Jeu', series: { name: 'testA', value: '89' } },
{ name: 'Dim', series: { name: 'testB', value: '490' } },
{ name: 'Dim', series: { name: 'testC', value: '978' } }
]
我想把它转换成
[
{ name: 'Jeu', series: { name: 'testA', value: '89' } },
{ name: 'Dim', series: [{ name: 'testB', value: '490' },{ name: 'testC', value: '978' } ] }
]
我能用一个简单的reduce/map循环做到这一点吗 您可以首先与某些一起使用,以创建一个对象,该对象以您想要的格式映射唯一的名称和对象,并按名称对序列进行分组。然后,您可以简单地从该对象获取值
常量myArray=[
{name:'Jeu',series:{name:'testA',value:'89'},
{name:'Dim',series:{name:'testB',value:'490'},
{name:'Dim',series:{name:'testC',value:'978'}
];
const map=myArray.reduce
acc,curr=>{
…acc,
[货币名称]:{
名称:curr.name,
系列:附件[当前名称]
?[…附件[当前名称].系列,当前系列]
:[当前系列]
}
},
{}
;
常量输出=Object.valuesmap;
console.logoutput;