Javascript 将对象属性转换为对象数组

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' } } ] 我想把它转换成 [ {

我想按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' } }
]
我想把它转换成

[
  { 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;