function getPathByKey(value,key,arr){
let result=[];
try{
function getNode(node){
result.push(node)
//找到匹配的值通过抛出错误的方式结束
if(node[key]==value) throw('get it')
//存在子节点的
if(node.children&&node.children.length>0){
//循环查找子节点,
node.children.forEach((el)=>{
getNode(el)
})
//遍历完子节点未找到删除子节点
result.pop()
}else{
//不存在子节点的直接删除掉
result.pop()
}
}
for(let i=0;i<arr.length;i++){
getNode(arr[i])
}
}catch(e){
return result
}
}
注:未找到返回的是undefined