我很困惑如何使用array.reduce(),尤其是在这种情况下,我不确定是否有正确的方法。通常我有一个起始数组,并且知道我需要什么结果,但我似乎无法正确分组。
这是起始数组:
这是起始数组:
[
{ name: 'Home' },
{
name: 'Services',
menu: [
{ name: 'Painting' },
{ name: 'Decorating' },
{ name: 'Lawn mowing', submenu: 'Garden' },
{ name: 'Tree surgery', submenu: 'Garden' },
{ name: 'Edging', submenu: 'Garden' }
]
},
{ name: 'Contact' }
]
我希望最终得到的是这个
[
{ name: 'Home' },
{
name: 'Services',
menu: [
{ name: 'Painting' },
{ name: 'Decorating' },
{
name: 'Garden',
menu: [
{ name: 'Lawn mowing', submenu: 'Garden' },
{ name: 'Tree surgery', submenu: 'Garden' },
{ name: 'Edging', submenu: 'Garden' }
]
}
]
},
{ name: 'Contact' }
]
所以我希望能够按具有子菜单的任何内容进行分组,然后返回一个新的排序数组。