Javascript 联接对象的数组并创建新数组
我有一个对象数组,如下所示:Javascript 联接对象的数组并创建新数组,javascript,arrays,ecmascript-6,Javascript,Arrays,Ecmascript 6,我有一个对象数组,如下所示: example = [ { id: 1, child: [ { id: 1, name: "child 1", }, ], }, { id: 2, child: [ { id: 2, name: "child 2", }, { id:
example = [
{
id: 1,
child: [
{
id: 1,
name: "child 1",
},
],
},
{
id: 2,
child: [
{
id: 2,
name: "child 2",
},
{
id: 3,
name: "child 3",
},
],
},
];
[{...},{...},{...}]
我想得到这样一个子对象数组:
example = [
{
id: 1,
child: [
{
id: 1,
name: "child 1",
},
],
},
{
id: 2,
child: [
{
id: 2,
name: "child 2",
},
{
id: 3,
name: "child 3",
},
],
},
];
[{...},{...},{...}]
我很想用map循环,但是我得到了一个包含两个对象的数组。您可以将
子数组映射到一个新数组并展平它们
flatMap()
回调函数到数组的每个元素,然后展平
结果差一级。它与后跟一个
深度为1的flat()
,但比调用这两个函数效率略高
方法分别采用
示例=[
{
id:1,
儿童:[
{
id:1,
姓名:“儿童1”,
},
],
},
{
id:2,
儿童:[
{
id:2,
姓名:“儿童2”,
},
{
id:3,
姓名:“儿童3”,
},
],
},
];
const newArray=example.flatMap(({child})=>child);
log(newArray)代码>不清楚您需要什么。您是否需要一个包含子对象值的对象数组?