原文链接:点击原文
/**
* 找父节点
*/
getParentId(list,id) {
for (let i in list) {
if(list[i].id==id){
return [list[i]]
}
if(!!list[i].next_city && list[i].next_city.length > 0){
let node=this.getParentId(list[i].next_city,id);
if(node!==undefined){
return node.concat(list[i])
}
}
}
},
/**
* 根据ID获取该节点的对象
*/
getId(list,id) {
for (let i in list) {
if(list[i].id==id){
return [list[i]]
}
if(!!list[i].next_city && list[i].next_city.length > 0){
let node=this.getParentId(list[i].next_city,id);
if(node!==undefined){
return node;
}
}
}
},
/**
* 先运行getId, 再找子节点
*/
getNodeId(list,newNodeId=[]) {
for (let i in list) {
newNodeId.push(list[i])
if(!!list[i].next_city && list[i].next_city.length > 0){
this.getNodeId(list[i].next_city,newNodeId);
}
}
return newNodeId;
},
// 调用方式
let arr = this.getParentId(this.tableData, row.id)
let objId = this.getId(this.tableData, row.id);
let childId = this.getNodeId(objId);