当前位置: 首页 > Web前端 > JavaScript

通过子节点找到父节点的完整路径

时间:2023-03-27 14:18:37 JavaScript

constgetTreeIds=(tree:any[],nodeId:any,config:{})=>{//树目标树,nodeId节点idconst{children='cityList',id='adCode'}=config||{}consttoFlatArray=(tree:any[],parentId:never[])=>{returntree.reduce((t:any,_:Record)=>{constchild=_[children]return[...t,parentId?{..._,parentId}:_,...(child&&child.length?toFlatArray(child,_[id]):[])]},[])}constgetIds=(flatArray:any[])=>{letids=[nodeId]letchild=flatArray.find((_:Record)=>_[id]===nodeId)while(child&&child.parentId){ids=[child.parentId,...ids]//eslint-disable-next-line@typescript-eslint/no-loop-funcchild=flatArray.find((_:Record)=>_[id]===child.parentId)}returnids}returngetIds(toFlatArray(tree,[]))}

最新推荐
猜你喜欢