// orgCode 查找元素,list 树数据
findAreaCode(orgCode,list = [], result = []){
for (let i = 0; i < list.length; i += 1) {
console.log('*******', list[i].orgCode, '********')
const item = list[i]
// 找到目标
if (item.orgCode === orgCode) {
console.log('找到了',item.orgCode)
// 加入到结果中
result.push(item.orgCode)
// 因为可能在第一层就找到了结果,直接返回当前结果
if (result.length === 1) return result
return true
}
// 如果存在下级节点,则继续遍历
if (item.children) {
// 预设本次是需要的节点并加入到最终结果result中
result.push(item.orgCode)
const find = this.findAreaCode(orgCode, item.children, result)
// 如果不是false则表示找到了,直接return,结束递归
if (find) {
return result
}
// 到这里,意味着本次并不是需要的节点,则在result中移除
result.pop()
}
}
// 如果都走到这儿了,也就是本轮遍历children没找到,将此次标记为false
return false
}
this.findAreaCode(code,data)
JS递归树结构,根据子节点获取父节点
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- package com.study.utils; import com.study.entity.Per; imp...
- 关键词:树结构; 路径搜索; 树结构,根据叶子节点id获取从根节点到叶子节点的完整路径 数据示例 查找函数 函数调...
