/*
* array-树形数据
* targetId-目标id
* valueKey-用来判断的字段名
* childrenKey-子元素字段名
**/
findPatentValue(array, targetId, valueKey, childrenKey) {if (!targetId || !Array.isArray(array)) return []const result = []let valid = falseconst seek = (_array, _targetId) => {let parentValue = ''const up = (_array_, _targetId_, lastValue) => {_array_.forEach(v => {const val = v[valueKey]const child = v[childrenKey]if (val === _targetId_) {valid = trueparentValue = lastValuereturn}child?.length && up(child, _targetId_, val)})}up(_array, _targetId)if (parentValue) {result.unshift(parentValue)seek(_array, parentValue)}}seek(array, targetId)return valid ? [...result, targetId] : []
}// 使用方法
let arr = [{id: 1,label: '1',children: [{id: 2,label: '2',children: [{id: 3,label: '3'}]}]
}]this.findPatentValue(arr, 3, 'id', 'children') // [1,2,3]

js tree树形结构,通过子节点找到所有父节点相关推荐

  1. js tree 根据子节点找到所有父节点

    利用深度优先遍历和递归 var acceptUnitNodes = null;//接收单位树形数据function findParentNode(ids){ //ids 是子节点数组var paren ...

  2. python list转换成树形结构_列表数据(包含父节点关系)转化为树形结构

    今天开发遇到一个需求,就是把包含父子关系的数据转化为树形结构,这个需求来自我开发的一个功能,前端需要使用 Element 的级联选择器实现行业级联选择的功能. 列表数据类型 每条数据都列出了其父 id ...

  3. 使用ztree.js,受益一生,十分钟学会使用tree树形结构插件

    看到ztree.js,这几个字眼,毋庸置疑,那肯定就是tree树形结构了,曾经的swing年代有jtree,后来jquery年代有jstree和treeview,虽然我没写过,但是我见过,一些小功能做 ...

  4. Element ui tree树形控件获取当前节点id和父节点id

    低版本Element ui tree树形控件获取当前节点id和父节点id的方法:点击查看 最新版本Element ui tree树形控件获取当前节点id和父节点id教程: 1.找到node_modul ...

  5. Ext JS 深入浅出---树形结构数据获取

    1.准备工作 按照 Ext JS 深入浅出 树形结构(上) Ext JS 深入浅出 树形结构(下) 搭建环境. 2.使用 TreeStore 获取数据 在前面,我们需要一个一个地写子叶的内容,不仅麻烦 ...

  6. 03【若依框架解读】Tree树形结构的控制(菜单,部门)

    背景 若依管理框架中包含了不少菜单树和权限树的控制,主要实现的方式是递归,比较容易阅读和理解.构建属性结构本身是开发中非常常见的场景.掌握后非常容易在工作中使用. 属性结构控制 后端返回列表,前端控制 ...

  7. EasyUI中tree选中父节点自动选中子节点,取消子节点自动取消父节点,子节点勾选完毕自动勾选父节点

    今天有需求,将树设为具有全选功能 选中父节点自动全选子节点 全选状态下,当用户取消某一个子节点,自动取消父节点的勾选 未全选状态下,用户勾选全部子节点,自动勾选对应的父节点 感觉挺简单,实际写的时候才 ...

  8. js获取树结构数据中默认节点的所有父节点

    需求描述: 一个树形下拉框,通过默认数据获取任意子节点的所有父节点id 思路: 1循环节点,判断是否是默认节点,是则保存到数组,否则判断是否有子节点,有则调用本身循环,并进行数组合并,没有子节点就重置 ...

  9. js获取某节点的特定父节点

    废话不说了,功能函数如下 /** @Author : Jeen @ vsfor.com* @Describe : 根据节点名称,查找某节点的特定父节点* @params :* node dom节点* ...

最新文章

  1. Android 串口通讯
  2. 这个神了,一目了然,确实好,看小姐姐用动图展示10大Git命令
  3. c#-----让richtextbox或者TextBox不可编辑
  4. POSIX 线程编程(二)线程建立与终止
  5. 工业以太网交换机的安全问题详解
  6. SharePoint 2013 搭建负载均衡(NLB)详解
  7. python面向对象实现简易银行管理员页面系统【导入自定义模块】
  8. 多个字符合并成一个数组_一个excel多个sheet,需要合并为一个sheet
  9. 利用rsync+inotify搭建实时同步系统
  10. java开发实习报告_JAVA实习报告 (7000字)
  11. 【我的Android进阶之旅】解决Jenkins编译出现的Gradle错误:Gradle build daemon disappeared unexpectedly
  12. 开发微信小程序所需要的http服务器搭建
  13. ios游戏比Android贵,为什么苹果商店充值比安卓的要贵?
  14. 资源管理框架(mesos/YARN/coraca/Torca/Omega)选型分析
  15. deepin 15.11安装postgresql
  16. 俄勒冈健康与科学大学计算机,俄勒冈健康与科学大学排名
  17. 什么是物联网控制系统?它具有哪些特点?
  18. 你和阿里资深架构师之间,差的不仅仅是年龄(进阶必看) 1
  19. 同程艺龙:如何基于RocketMQ打造日均容量1500亿的消息引擎?
  20. 英语基础语法——五种基本句式

热门文章

  1. “视频会员”的意义,藏在腾讯视频VIP九周年里
  2. 力扣题解:43. 字符串相乘:模拟“乘法竖式”
  3. 位列第五大生产要素,大数据该如何突破隐私安全魔咒?
  4. RxHttp 一条链发送请求之强大的数据解析功能(二)
  5. MacW最新资讯:macOS BigSur正式版来了!这些新变化和新功能值得一试
  6. 第一颗国产 两端口 LVDS至HDMI2.0 (3Gbps)发射器 ,数字音频输入 芯片LT2611UXC
  7. 什么是域名解析?如何进行域名解析设置?
  8. 智能车摄像头动态打角算法
  9. luogu P1646 happiness
  10. Apache Superset可视化数据大屏