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

js递归找label

数据结构是这样的

let list = [{label: '初等教育',id: 1,children: [{label: '小学',id: 2,}]},{label: '中等教育',id: 3,children: [{label: '初级中学',id: 4,},{label: '高级中学',id: 5,children: [{label: '普通高中',id: 6,},{label: '中专',id: 7,},{label: '职业高中',id: 8,},]}]},{label: '高等教育',id: 9,children: [{label: '大学专科(大专)',id: 10,},{label: '大学本科',id: 11,},{label: '硕士研究生',id: 12,},{label: '博士研究生',id: 13,}]}
]

知道id值,拿到对应的label值

function getDegree(id, list) {let label = ''for(let i = 0; i < list.length; i++) {let item = list[i]if(item.id == id) {label = item.labelreturn label} else if(item.id != id && Array.isArray(item.children) && item.children.length > 0) {label = getDegree(id, item.children)if(label) return label}}return label
}let list = [{label: '初等教育',id: 1,children: [{label: '小学',id: 2,}]},{label: '中等教育',id: 3,children: [{label: '初级中学',id: 4,},{label: '高级中学',id: 5,children: [{label: '普通高中',id: 6,},{label: '中专',id: 7,},{label: '职业高中',id: 8,},]}]},{label: '高等教育',id: 9,children: [{label: '大学专科(大专)',id: 10,},{label: '大学本科',id: 11,},{label: '硕士研究生',id: 12,},{label: '博士研究生',id: 13,}]}
]
getDegree('1', list) // '初等教育'
getDegree('2', list) // '小学'
getDegree('3', list) // '中等教育'
getDegree('4', list) // '初级中学'
getDegree('5', list) // '高级中学'
getDegree('6', list) // '普通高中'
getDegree('7', list) // '中专'
getDegree('8', list) // '职业高中'
getDegree('9', list) // '高等教育'
getDegree('10', list) // '大学专科(大专)'
getDegree('11', list) // '大学本科'
getDegree('12', list) // '硕士研究生'
getDegree('13', list) // '博士研究生'
getDegree('14', list) // ''
http://www.dtcms.com/a/604985.html

相关文章:

  • Python自动化:MiniMind本地部署与测试
  • 机器学习驱动的智能光子学器件:逆向设计、光学神经网络与片上系统应用
  • 苍穹外卖资源点整理+个人错误解析-Day07-缓存商品、购物车
  • 自己做网站还是开通阿里巴巴诚信通安徽科技学院
  • 【033】Dubbo3从0到1系列之dubbo协议支持的序列化方式
  • 开源 Objective-C IOS 应用开发(五)iOS操作(action)和输出口(Outlet)
  • openEuler系统部署Node.js开发环境指南
  • 杭州网站建设市场青岛餐饮加盟网站建设
  • 手动清除Ubuntu系统中的内存缓存的步骤
  • 花店微信小程序怎么做,创建一个小程序需要多少钱
  • c# 异步编程详细说明及实践
  • 系统架构设计师论文分享-论设计模式的应用
  • 漫谈我与C++
  • HarmonyOS 6.0 服务卡片实战:把「轻食刻」装进桌面,让轻断食一眼可控
  • 建设网站用什么技术网站的基本类型
  • 罗湖附近公司做网站建设哪家效益快阜阳微网站建设多少钱
  • C++-Qt-音视频-基础问题01
  • [Linux]学习笔记系列 -- [kernel]notifier
  • Blender学习笔记(0) -- 思维导图框架
  • 云手机 服务器网络安全
  • 服务器BMC开发视角:解析CPU管理的两大核心接口PECI与APML
  • Linux 服务器安装 dstat 监控插件
  • 与实验室服务器互相ping
  • C++ 二叉搜索树的模拟实现(key结构的非递归和key_value结构的非递归的实现)
  • dw制作简单网站如何推广新品
  • SUSE Linux Enterprise Server 15 SP4安装步骤
  • 红帽企业 Linux 9 启动过程详解:从按下电源到登录提示符
  • 合肥建设厅网站建设一个一般网站需要多少钱
  • 麻省理工学院未来研发更高温超导体打开了新路径
  • Android studio修改app 桌面logo和名称