我有一个对象数组,代表了一个嵌套的导航列表。
[
{
name: 'one',
link: 'blah/blah',
pages: [
{
name: 'one A'
link: 'blah/blah',
pages: []
},
{
name: 'one B'
link: 'blah/blah',
pages: []
},
{
name: 'one C'
link: null,
pages: [
{
name: 'one C I'
link: 'blah/blah',
pages: []
}
]
}
]
}
]
第一级对象可以有链接和页面,嵌套的对象要么有链接要么有页面。我不能假设嵌套的深度有限制。我需要为每个状态创建一个对象,包括它的名称、链接(如果存在)和所有父级。我的当前解决方案无法处理超过3级的嵌套,而添加对每个层次的支持是费力的。
我还需要能够搜索结果对象数组以稍后获取它们的链接,如果这对解决方案有影响的话。
我需要一个JavaScript解决方案,但也可以(并且希望)使用lodash库中包含的函数。