首页 > 其他分享 >将数组数据转化成树形结构 tranListToTreeData

将数组数据转化成树形结构 tranListToTreeData

时间:2022-11-09 01:11:26浏览次数:50  
标签:arr 转化成 list item 树形 数组 child tranListToTreeData

export function tranListToTreeData(list, rootValue) {
  // list是最完整的数组
  let arr = []; // 记录儿子
  list.forEach((item) => {
    // 记录是否有儿子
    if (item.pid === rootValue) {
      // 继续找自己儿子
      const child = tranListToTreeData(list, item.id);
      if (child.length) {
        item.child = child;
      }
// 没有孩子的 直接 push 有孩子的给child 树型 arr.push(item); // 收集儿子 } }); return arr; }

定义方法的位置 utlis/index.js  工具层 ;

ps: 使用递归的时候,就是自身调用自身 ,但是条件一定不能相同 ,否则造成死循环 ;

标签:arr,转化成,list,item,树形,数组,child,tranListToTreeData
From: https://www.cnblogs.com/zhulongxu/p/16871842.html

相关文章

  • Antd Tree树形控件 自定义插槽
    使用titleRender属性自定义节点渲染函数,不需要处理树型数据,达到比如右侧新增按钮的需求(如图三)<Tree ... titleRender={(nodeData)=>{return(......
  • 树形DP之点覆盖问题
    什么是点覆盖问题?就是在树上选几个点,覆盖(一个点可以覆盖其相连的边或与其距离不超过\(d\)的点,根据题意具体分析)一些点或边,求最小代价。例题战略游戏题意一棵无根树,......
  • 树形结构查询,科技政策查询系统
         Policy:packagebean;publicclassPolicy{privateStringname;//政策名称privateStringorgan;//发文机构privateStringdate;......
  • js 数组转树形结构
    1、递归方式constlist=[{id:'001',name:'节点1'},{id:'0011',parentId:'001',name:'节点1-1'},{id:'00111',parentId:'0011',name:'节点......
  • 【XSY4231】人赢(图论,Hall定理,Trie树,树形DP)
    首先二分答案,设为\(mid\)。现在的问题是:若\(a_i\oplusa_j\geqmid\),则\(i,j\)之间有一条连边,判断是否存在一种选边方式使得每个点都恰好在一个简单环上(可以是自环或......
  • 【XSY3972】树与图(树形dp,树剖,分治NTT)
    题面树与图题解不难发现本题可以转化成以下题目:给定一个\(n\)个点的有根树,你可以在树上选择\(k\)个点,满足对于任意两个点都不互为祖先关系,且从根到每个叶子的路......
  • 【XSY3633】匹配(树形 DP,树链剖分,分治)
    考虑最普通的DP:设\(f_{u,i,0/1}\)表示\(u\)子树内恰好包含\(i\)条边的最大权匹配,其中\(u\)有无被匹配。这是个树上背包,暴力DP是\(O(n^2)\)的。可以发现\(f......
  • 【XSY2444】【BZOJ4042】【CERC2014】【luogu4757】Parades(树形dp+状压dp)
    题面Description从前有个A国,它有\(n\)个城市和\(n-1\)条道路。每条路连接两个城市。城市之间两两可达。每个城市与不超过10条道路相连。现在给出\(m\)条路径,要求从这些......
  • 【JLOI2016_SHOI2016】侦察守卫(树形DP)
    考虑树形DP,假设我们已经考虑完当前子树内监听点的放置情况,根为\(u\),考虑我们要记录什么状态:\(u\)子树内的监听点向子树外还能监听多远,\(u\)子树内距离根最远的未被监听......
  • 【HNOI2015】实验比较(树形DP,容斥)
    题意:给你一棵树,你要对所有节点定一个顺序序列,形如\(p_1\oplus_1p_2\oplus_2p_3\cdotsp_{n-1}\oplus_{n-1}p_n\),其中\(\oplus_i\)为\(=\)或\(<\),\(p_{1\simn}......