当前位置: 首页 > news >正文

遍历-找到匹配的节点

案例1:树结构treeData,找到与this.activeData.id匹配的节点

this.nodeClickData=this.getNodeClickData(this.treeData)getNodeClickData(val){for(const item of val){if(item.id==this.activeData.id){console.log('匹配的节点==',item)return item  //找到之后,就返回}// 如果没有找到,就看看this.treeData有没有子级let childResult=nullif(item.childrenKey && item.childrenKey.length>0){childResult=this.getNodeClickData(item.childrenKey)}if(childResult){return childResult  //子级找到结果,就返回}}return null
}

案例2: 找到选中节点的父级节点

// this.nodeClickData---选中的数据
const expandedKeys=this.getParentkeys(this.nodeClickData,this.treeData)/*
* targetNode---选中节点
* treeData  --- 树全部数据
*/
getParentkeys(targetNode,treeData,parentKeys=[]){for(cosnt node of treeData){if(node.id==targetNode.id){return [...parentKeys,node.id]}// 没找到,如果有子级,就遍历子级if(node.childrenKey && node.childrenKey.length>0){const keys=this.getParentkeys(targetNode,node.childrenKey,[...parentKeys,node.id])if(keys){return keys}}}return null
}

 

http://www.dtcms.com/a/304920.html

相关文章:

  • 零基础-动手学深度学习-7.6. 残差网络(ResNet)
  • [leetcode] 子集
  • OpenCL - study - code04 canny
  • 泰勒图中RMSD和RMSE是一个指标吗?
  • 掌控AI工具链:用 Python + API 构建 AI MCP 服务器
  • VUE进阶案例
  • Apple: A Legendary Journey of Innovation, Business, and Global Influence
  • [SWPU2019]Web1
  • VxWorks入门 【VxWorks程序运行】六
  • 数据库表的运算及表示方法
  • jQuery DOM 遍历详解
  • docker技术框架
  • 2024年蓝桥杯Scratch10月图形化stema选拔赛真题——旋转的图形
  • Luogu P2577 午餐(ZJOI2004)
  • 市政道路积水监测系统:守护城市雨天出行安全的 “智慧防线”
  • iOS仿写 —— 计算器
  • 前端代码格式化工具HTML离线版
  • redhat7.9更换源为centos7(阿里云源-目前centos7可用的源)
  • 函数对象 vs 函数指针 vs lambda:该用哪个才高效?
  • 利用对称算法及非对称算法实现安全启动
  • 【车联网kafka】Kafka核心架构与实战经验(第一篇)
  • 【机器学习深度学习】分布式训练的核心技术全解:数据并行、模型并行、流水线并行与3D混合并行
  • 基于最小二乘支持向量机(LSSVM)的气象预测
  • 原生html+js+jq+less 实现时间区间下拉弹窗选择器
  • css 二维变换之详说
  • 引领汽车加速向具身智能进化,吉利携阶跃星辰参展WAIC 2025
  • GitHub下载项目完整配置SSH步骤详解
  • 高效管理多个异步上下文:初识 Python 中的 AsyncExitStack
  • 在Word和WPS文字中让文字无极限缩放,用键盘更高效
  • protobuf2.5.0 arm_linux