通过子id获取祖先id的集合


getIdss(node, id, path){
if (!path) { path = [] }
if (node.id === id) { return path }
path.push(node);
if (node.item.some(child => this.getIdss(child, id, path))) {
return path
}
path.pop();
return false
},
getIds(){
this.node=[
    {id:0,
item:[
{
id: 1,
item: [{
id: 3,
item: []
}, {
id: 4,
item: []
}]
},
{
id: 2,
item: [{
id: 5,
item: []
}, {
id: 6,
item: [{
id: 7,
item: []
}]
}]
}
]},
]

let aa = this.getIdss({item: this.node}, 7).map(x => x.id);
aa.map((item,index)=>{
if (item ==undefined){
aa.splice(index, 1);
}
});
console.log(aa);
},
原文地址:https://www.cnblogs.com/boonook/p/9628251.html