一维数组转换成树形结构数组

原文链接: https://juejin.cn/post/7020788438932684831 我自己用的时候需要

1// 一维数组转换为二维数组树形结构 2 newTree(data,idStr,pidStr){ 3 // idStr是每条数据的id 4 // pidStr是每条数据的parentId,根据这个字段判断数据之间的父子关系 5 let result = []; 6 let map = {}; 7 if(!Array.isArray(data)){ 8 return result; 9 } 10 //清除之前的children 11 data.forEach(item=>{ 12 delete item.children; 13 }); 14 //将所有数据的id作为key键,添加到map对象中 15 data.forEach(function(item){ 16 // 这块是要给title设置自定义显示内容 17 item.title = item['id'] + ' - ' + item['name']; 18 item.id = item['id']; 19 map[item[idStr]] = item; 20 }); 21 //处理数据以及层级问题 22 data.forEach(function(item){ 23 const parent = map[item[pidStr]]; 24 if(parent){ 25 // 添加parent 26 if(!parent.children){ 27 parent.children = []; 28 }; 29 parent.children.push(item); 30 }else{ 31 result.push(item); 32 } 33 }); 34 return result; 35 }, 36// 获得树形结构数据 37const newTreeData = this.newTree(res.data,'id','parentId');
点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

js 数组 转为树形结构

需要转换为树形的数组vardata{"orderById":null,"platformCommissionProportion":1,"name":"添加剂","pid":13,"id":26

JavaScript设计模式之英雄联盟

作者:黄梵高原文:https://juejin.cn/post/6844904165982879758构造函数模式简介在Jav

QPS、TPS、并发用户数、吞吐量关系

!(https://oscimg.oschina.net/oscnet/1cff91f3681947aa83c6abe32a7486c6.png)来源:https://juejin.cn/post/6844904084504313863QPS「QPS」QueriesPerSecond 是每秒查询率,是

Java开发者容易犯的十个错误

!(https://oscimg.oschina.net/oscnet/c9f00cc918684fbe8a865119d104090b.gif)Top1.数组转换为数组列表将数组转换为数组列表,开发者经常会这样做:\java\List<StringlistArrays.asList(arr);Arr