获取上级数组
getTreeArr(key, treeData) {
let arr = [] // 在递归时操作的数组
let returnArr = [] // 存放结果的数组
let rank = 0 // 定义全局层级
// 定义递归函数
function childrenEach(childrenData, rankNum) {
for (var j = 0; j < childrenData.length; j++) {
rank = rankNum // 将执行的层级赋值 到全局层级
arr[rankNum] = (childrenData[j].id)
if (childrenData[j].id == key) {
returnArr = arr.slice(0, rankNum+1) //将目前匹配的数组,截断并保存到结果数组,不能直接赋值赋值,存在指针关系
break
} else {
if (childrenData[j].children) {
rank ++
childrenEach(childrenData[j].children, rank)
}
}
}
return returnArr
}
return childrenEach(treeData, rank)
},