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 散布到其中,将您的源映射到一个新对象。
我需要展开一个数组,其中每个项目都包含一个嵌套对象,如下所示:
[
{
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"
}
]
这是最接近我要找的东西
您可以这样做:
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 散布到其中,将您的源映射到一个新对象。