映射嵌套对象

时间:2020-06-08 06:13:16

标签: javascript reactjs

嘿家伙

我有以下对象:

sh(""" rm -rf $directory """)

,我想映射该对象,这样我就可以得到像

这样的数组
series:{
   Serie1:{
      subseries1:{
         a:a1,
         b:b2,
      },
      subseries2:{
         a:a1,
         b:b2,},
      },
   Serie2:{
      subseries1:{
         a:a1,
         b:b2,
      }
}

我正在使用这张地图:

[{subseries1}, {subseries2},{subseries1}]

但是,这根本不符合我的意图。有提示吗?

1 个答案:

答案 0 :(得分:1)

使用Object.values解开第一级SerieN值
使用flatMap合并并映射子系列
使用Object.entries提取[[key,value]...]并映射到单个对象

data = {
  series: {
    Serie1: {
      subseries1: {
        a: 'a1',
        b: 'b2',
      },
      subseries2: {
        a: 'a1',
        b: 'b2',
      },
    },
    Serie2: {
      subseries1: {
        a: 'a1',
        b: 'b2',
      }
    }
  }
}
console.log(
Object.values(data.series).flatMap(x=>Object.entries(x).map(([k,v])=>({[k]:v})))
)