递归就是调用自己
比如

function fn() {fn()
}

递归一般是用来处理不确定层级的树形数据
比如想要获取树形菜单数据里面的每一个id就可以使用递归

var data = [{name: 'a',id: 101,children: [{name: 'bb',id: 101101,children: []},{name: 'bb',id: 101102,children: [{name: '101102101',id: 101102101,children: []}]},{name: 'bb',id: 101103,children: []}, {name: '101104',id: 101104,children: []}]}];
然后就是用递归函数来遍历所有数据进行获取// 用来保存idvar idArr = []function getId(treeData, arr) {treeData.forEach(ele => {arr.push(ele.id)// 判断有子元素,并且子元素的长度大于0就再次调用自身if (ele.children && ele.children.length > 0) {getId(ele.children, arr)}})}getId(data, idArr)console.log(idArr)

js怎样递归遍历树形菜单数据相关推荐

  1. java中遍历树形菜单,你可能不知道还有这样的方法

    版权声明:本文为CSDN博主「穆雄雄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/qq_34137397/ ...

  2. java arraylist 遍历树_Java递归遍历树形结构

    废话不多说了,直接给大家贴代码,具体代码如下所示://菜单树形结构 public JSONArray treeMenuList(JSONArray menuList, int parentId) { ...

  3. java实现遍历树形菜单方法——设计思路【含源代码】

    开发工具:MyEclipse 10 后台框架:Hibernate + Struts2 数据库:Oracle 11g 前台框架:EasyUi 浏览器:谷歌 在开发中我们经常会遇到左边是树形菜单,右边是一 ...

  4. Java8新特性-使用Stream流来实现递归遍历树形结构(案例)

    Java8新特性-Stream流 可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来 ...

  5. php 递归生成树形菜单,递归生成树形结构菜单

    public List listWithTree() { //1.查出所有菜单 List categoryEntities = categoryDao.selectList(null); //2.组装 ...

  6. java实现遍历树形菜单方法——实体类VoteTree

    package org.entity;import java.util.ArrayList; import java.util.List;/*** * * 项目名称:testTree * 类名称:Vo ...

  7. java实现遍历树形菜单方法——数据库表的创建

    这里主要是oracle数据库表的创建: --创建树形菜单表 create table vote_tree (id number(10) not null,text varchar2(30) not n ...

  8. JS自上而下递归遍历计算树结构节点数值和

    //自上而下进行数量累计计算function updateTreeDataAdd(treeData,fieldName){for(var i=0;i<treeData.length;i++){/ ...

  9. react和js递归遍历树形结构数据

    tree数据结构 { "title":"我喜欢的明星", "children":[ { "title":"杨幂 ...

  10. js用递归遍历多维数组_js面试题更新之40

    1.数组方法pop() push() unshift() shift() push     后面添加元素,个数不限,返回新数组的长度 pop     从后面删除一个元素,返回那个元素 unshift ...

最新文章

  1. c#百度排名点击器编写 及webser 填表.
  2. GAN for NLP (论文笔记及解读
  3. php大并发 大流量 大存储解决方案
  4. laravel中migrate的使用
  5. Google File System 学习笔记
  6. python实现文件编码转换_Python实现批量转换文件编码的方法
  7. gis等时圈怎么做_ArcGIS中输入风格一致的带圈数字
  8. 解密 RubyEncoder
  9. 微信小程序radio 标签 使用
  10. springboot 问卷调查系统
  11. LOGO特训营 第一节 鉴别Logo与Logo设计思路
  12. 小说《人类简史》的读后感范文4100字
  13. NGFW的Portal认证实验
  14. Linux软件包管理— rpm软件包查询
  15. struct sockaddr和struct sockaddr_in的强制类型转换
  16. 青少年等级考试【Python通关干货】(二级)
  17. 快手2020校园招聘秋招笔试--工程C试卷
  18. 高手教你怎么在运行里拼IP地…
  19. 腾讯 阿里 华为的岗位薪资情况概述
  20. Python实现飞机大战小游戏,详解每一行代码!

热门文章

  1. JAVA 对于点号.的处理
  2. 设计模式(26)-----享元模式
  3. placeholder在不同浏览器下的表现及兼容方法 placeholder兼容
  4. [saiku] 配置saiku实时展现查询数据
  5. 安装Cocoapods, 更新gem出现的问题
  6. 10%的IOS设备已经更新到版本5.1.1
  7. C#操作操作类库五(字符串的常用扩展方法)
  8. 用swing开发 震撼的CSDN用户关系图(转)和基于JMF的java rpg入门游戏
  9. 户如何获得渗透服务---步骤与效果
  10. IDF2013:可信计算在中国的发展