删除由于多个嵌套映射函数而产生的多余数组大括号



我创建了一个对象数组的多个嵌套映射函数,最后得到了这样的输出。

let tags =  product.map(item => item.outSourceItem.map(outsourceitem => outsourceitem.tags));

tags = [
[
[
{
"_id": 11,
"name": "eleven"
}
]
],
[
[
{
"_id": 12,
"name": "twelve"
}
]
],
[
[
{
"_id": 13,
"name": "thirteen"
}
]
],
[
[
{
"_id": 11,
"name": "eleven"
}
]
]
]

我只是希望它是这样的。

[
{
"_id": 11,
"name": "eleven"
},
{
"_id": 12,
"name": "twelve"
},
{
"_id": 13,
"name": "thirteen"
},
{
"_id": 11,
"name": "eleven"
}
]

这个的任何一个线性函数?我使用.flat(),但它也不工作。

尝试Array#flatinfinitydepth:

const tags = [
[
[
{
"_id": 11,
"name": "eleven"
}
]
],
[
[
{
"_id": 12,
"name": "twelve"
}
]
],
[
[
{
"_id": 13,
"name": "thirteen"
}
]
],
[
[
{
"_id": 11,
"name": "eleven"
}
]
]
];
const result = tags.flat(Infinity);
console.log(result);