JS 树形结构 根据子节点找到所有上级
需求:是根据子菜单找到所有他上级菜单 进行面包屑的回显
要求子节点里包含父级id
代码如下:
parentTree(arr, id) { //arr 所有的树数据 id 某个子节点的id
var temp = [];
var callback = function (nowArr, id) { //先定义个函数寻找子节点位置 找到后 再找改节点父元素位置 以此类推
for (var i = 0; i < nowArr.length; i++) {
var item = nowArr[i];
if (item.id === id) {
temp.push(item);
callback(arr, item.pid); //pid 父级ID
break;
} else {
if (item.menus) {
callback(item.menus, id); //menus 子节点字段名称
}
}
}
};
callback(arr, id);
return temp; //最后返回
},