树图的遍历。
let hasParent = false // 初始化,默认没有父元素
let belongTo = '' // 父元素的名称
findParent(allData, subData) {
for (let i = 0; i < allData.length; i++) {
belongTo = allData[i].name
const forResult = this.forFn(allData[i].subset, subData)
if (forResult) break
}
if (!hasParent) {
belongTo = '顶层元素'
}
},
forFn(data, sub) {
for (let i = 0; i < data.length; i++) {
if (data[i].id === sub.id) {
hasParent = true
return hasParent
}
}
if (!hasParent) {
for (let i = 0; i < data.length; i++) {
if (data[i].subset) {
belongTo = data[i].name
const subForRes = this.forFn(data[i].subset, sub)
if (subForRes) break
}
}
return hasParent
}
},