Javascript 展平数组对象的数组

Javascript 展平数组对象的数组,javascript,Javascript,我有一个类别数组,里面有项目。我更想要一个项目数组,但我还想要项目对象中类别的一些属性 基本上,我想把这个展平: [ {catname: "caregory1", items: [{ name: "item1" }, {name: "item2"}] } {catname: "caregory2", items: [{ name: "item3" }, {name: "item4"}, {name: "item5"}] } ] 这件事 [ {catname: "caregory1", n

我有一个类别数组,里面有项目。我更想要一个项目数组,但我还想要项目对象中类别的一些属性

基本上,我想把这个展平:

[
 {catname: "caregory1", items: [{ name: "item1" }, {name: "item2"}] }
 {catname: "caregory2", items: [{ name: "item3" }, {name: "item4"}, {name: "item5"}] }
]
这件事

[
 {catname: "caregory1", name: "item1" }
 {catname: "caregory1", name: "item2" }
 {catname: "caregory2", name: "item3" },
 {catname: "caregory2", name: "item4" },
 {catname: "caregory2", name: "item5" }
]
谢谢

您可以为此使用
flatMap()
map()

  • 在主数组上使用
    flatMap()
    ,并使用对象分解和spread stynax隔离
    属性和其余属性
  • 然后在数组的
    items
    属性上使用
    map()
    ,并返回嵌套对象的属性,这些属性不是父项的
    items
const arr=[
{catname:“caregory1”,项:[{name:“item1”},{name:“item2”}]},
{catname:“caregory2”,项:[{name:“item3”},{name:“item4”},{name:“item5”}]}
]
const res=arr.flatMap(({items,…rest})=>items.map(a=>({…a,…rest})))
console.log(res)
您可以使用
flatMap()
map()

  • 在主数组上使用
    flatMap()
    ,并使用对象分解和spread stynax隔离
    属性和其余属性
  • 然后在数组的
    items
    属性上使用
    map()
    ,并返回嵌套对象的属性,这些属性不是父项的
    items
const arr=[
{catname:“caregory1”,项:[{name:“item1”},{name:“item2”}]},
{catname:“caregory2”,项:[{name:“item3”},{name:“item4”},{name:“item5”}]}
]
const res=arr.flatMap(({items,…rest})=>items.map(a=>({…a,…rest})))
console.log(res)