为了账号安全,请及时绑定邮箱和手机立即绑定

js,json树查找父级路径

js,json树查找父级路径

阿晨1998 2019-05-12 12:51:44
constdata=[{id:1,pid:0,text:1,children:[{id:2,pid:1,text:2,children:[{id:3,pid:2,text:3,children:[]}]}]}]//怎么查找id的父级的index索引id=3父级2所在数组index为0,在上父级的id1,所在数组的index0,直到最顶一层//输入id3//返回[0,0,0]索引的数组
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

constdata=[
{
id:1,
pid:0,
text:1,
children:[{
id:2,
pid:1,
text:2,
children:[{
id:3,
pid:2,
text:3,
children:[]
}]
}]
},
{
id:4,
pid:0,
text:4,
children:[{
id:5,
pid:4,
text:5,
children:[{
id:6,
pid:5,
text:6
}]
},{
id:7,
pid:4,
text:7,
children:[{
id:8,
pid:7,
text:8
}]
}]
}
]
functionfindIndexArray(data,id,indexArray){
letarr=Array.from(indexArray)
for(leti=0,len=data.length;iarr.push(i)
if(data[i].id===id){
returnarr
}
letchildren=data[i].children
if(children&&children.length){
letresult=findIndexArray(children,id,arr)
if(result)returnresult
}
arr.pop()
}
returnfalse
}
findIndexArray(data,3,[])//[0,0,0]
findIndexArray(data,8,[])//[1,1,0]
findIndexArray(data,7,[])//[1,1]
                            
查看完整回答
反对 回复 2019-05-12
  • 2 回答
  • 0 关注
  • 610 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号