Javascript:展平包含嵌套对象的每个数组项

Javascript: Flatten each array item containing nested object

我需要展开一个数组,其中每个项目都包含一个嵌套对象,如下所示:

[
  {
    a: "x",
    b: { b1: "x1", b2: "x2"}
  },
  {
    a: "y",
    b: { b1: "y1", b2: "y2"}
  }
]

[
  {
    a: "x",
    b1: "x1", 
    b2: "x2"
  },
  {
    a: "y",
    b1: "y1",
    b2: "y2"
  }
]

这是最接近我要找的东西 但是,我不确定如何将该解决方案用于数组,因为当我尝试应用它时,它只是 return 数组的最后一项。

您可以这样做:

const source = [
  {
    a: "x",
    b: { b1: "x1", b2: "x2"}
  },
  {
    a: "y",
    b: { b1: "y1", b2: "y2"}
  }
]

const transformed = source.map(item => ({ ...item.b, a: item.a }));

console.log(transformed)

通过抓住 a 并将 b 散布到其中,将您的源映射到一个新对象。