递归形成树形结构,去除树结构里面的空children数组
首先看一下数据:长这个样子
然后后端做一下处理:
@Overridepublic List getDicData(Integer parentId) { //从哪一层开始遍历做展示,这里选取根节点,即是:0LambdaQueryWrapper<BusOpenType> wrapper = new LambdaQueryWrapper<>();wrapper.eq(BusOpenType::getParentId, parentId);// 查找出含有此根节点的数据作为第一层List<BusOpenType> list = busOpenTypeMapper.selectList(wrapper);//遍历for (BusOpenType type : list) {//如果获取到的父节点 !=null,即进递归if (type.getParentId() != null) {List<BusOpenType> openTypes = getDicData(type.getId());//取出的数据作为childrentype.setChildren(openTypes);}}//返回return list;}
返回的数据长这样:
此时已经是前端可以接收的数据了,但是如果不加处理,结果长成这样:
当选取到最后一层时,后面还会有个空[],导致我们无法选取,这显然不太合理。
所以我们在前端写个方法稍稍处理一下:
// 去除空children
function deleteChildren(arr) {let childs = arrfor (let i = childs.length; i--; i > 0) {if (childs[i].children) {if (childs[i].children.length) {deleteChildren(childs[i].children)} else {delete childs[i].children}}}return arr}
再引进我们调用的接口中,此时空children就被删除了,看下返回的数据
回到页面,此时结果已经满足需求。
递归形成树形结构,去除树结构里面的空children数组相关推荐
- Java8新特性-使用Stream流来实现递归遍历树形结构(案例)
Java8新特性-Stream流 可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来 ...
- 利用Stram来递归生成树形结构
利用Stram来递归生成树形结构 当需要查询有子菜单,或者子部门这一类需要形成树形的数据时,我们可以使用stream流式编程写 实体类 实体类需要有一个子列,类似此处的子城市 @Data @Equal ...
- java arraylist 遍历树_Java递归遍历树形结构
废话不多说了,直接给大家贴代码,具体代码如下所示://菜单树形结构 public JSONArray treeMenuList(JSONArray menuList, int parentId) { ...
- vue横向树结构_Vue 递归实现树形结构
结果展示 先给出两张效果图,左侧是百度Echarts的文档中心截图,右侧是我个人结合项目中文档中心截图 项目中假设为后台管理系统,一般左侧导航都是树形递归,当然现在也有很多的UI框架,随便套一下也是可 ...
- Vue 递归实现树形结构
2019独角兽企业重金招聘Python工程师标准>>> 结果展示 先给出两张效果图,左侧是百度Echarts的文档中心截图,右侧是我个人结合项目中文档中心截图 项目中假设为后台管理系 ...
- java—stream流递归实现树形结构
一.在项目开发中,经常会遇到像菜单式的页面,如下图 数据表结构一般像一个树形结构一样 对应的Model体 @Data //代替get.set方法 @ApiModel("知识园地视图" ...
- Java后端递归构建树形结构
记录:在Java后台利用递归思路进行构建树形结构数据,返回给前端,能以下拉菜单等形式进行展示. 简明:为了简化代码,引入Lombok的Jar包,可省略实体类set().get()方法. <dep ...
- php 递归生成树形菜单,递归生成树形结构菜单
public List listWithTree() { //1.查出所有菜单 List categoryEntities = categoryDao.selectList(null); //2.组装 ...
- mybatis mysql查询树形结构_mybatis树结构查询的方法
记录一下 表结构为: BKZ101 bigint(16) (NULL) NO PRI (NULL) select,insert,update,references DRGS疾病分组ID BKA504 ...
最新文章
- Matlab编程与数据类型 -- 开关语句switch/end
- c语言水印添加,[求助]C语言 bmp文件加上水印
- 对不起,亲爱的,我将离开你
- the server did not provide any additional information
- 以Settings.APPLICATION_DEVELOPMENT_SETTINGS打开开发者面板出错总结
- Scrapy定向爬虫教程(三)——爬取多个页面
- 中service层的作用_浅析Java中dto、dao、service、controller的四层结构
- HDS业务定义永续IT架构
- 最优化学习笔记(三)最速下降法
- HTML CSS设计与构建网站
- 布局文件是如何被解析的?
- 现代通信原理10.2:采用匹配滤波器的数字基带传输系统误码性能分析
- Execl同时冻结行和列
- 怎么成为抖音本地生活服务商家?需要哪些资质条件?
- 第二次作业—时事点评
- html纵向时间轴代码,垂直时间轴HTML
- android跑马灯监听,android跑马灯成效
- 项目管理学习 ---- 理解项目管理思维框架
- 解决电脑右侧数字键盘无法打出数字问题
- 程序员首先要能坐得住
热门文章
- myeclipse10配置jdk
- Dubbo原理解析(非常透彻)
- 根据地址让高德地图显示多个点
- putty使用教程(总结)
- 基于深度学习的目标检测:数据增强(一)图像翻转、图像旋转、图像放缩
- android 高仿糯米界面,iOS (UIButton封装)仿糯米首页缩放“按钮”效果
- input文本框的oninput和onchange失效
- 调用函数时在函数名前加“(void)”
- 这种可触摸的3D激光显示非常神奇!
- 易基因|DNA甲基化方法全解析:方法发展、技术应用、优缺点