如何处理这样的数组?
var arr = [
{
url: '/1',
id: 1,
isLeaf: false,
children: [
{
url: '2',
id: 2,
isLeaf: false,
children: [
{
url: '3',
id: 3,
isLeaf: true
}
]
}
]
},
{
url: '/4',
id: 4,
isLeaf: false,
children: [
{
url: '5',
id: 5,
isLeaf: false,
children: [
{
url: '6',
id: 6,
isLeaf: false
}
]
}
]
}
]
输出:
[
{
path: '/1/2',
id: 2
},
{
path: '/4/5/6',
id: 6
}
]
说明:
父子的url拼接,去最后一级的id(isLeaf为true时取上一层的值)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
递归遍历+条件判断。
大致思路就是,遍历
arr
,把每个节点作为node对象,判断它的isLeaf是否为true,拼接url、获取id,并递归遍历该节点的children
,至于具体怎么遍历,怎么写判断条件,自己去搜吧。