首页 > 其他分享 >正常数组转换为树状结构

正常数组转换为树状结构

时间:2024-01-26 14:23:24浏览次数:27  
标签:development menus 转换 树状 item sourceMap 数组 parentId children

1、这里子元素的标识是menuId,父id是parentId

//转化后的树形结构数据
            getTree(menuList) {
                let menus = [];
                let sourceMap = {};
                menuList.forEach(item => {
                  item.children = [];
                  sourceMap[item.menuId] = item; 
                  if (Number(item.parentId) === 0) {
                    menus.push(item);
                  } else {
                    if (sourceMap[item.parentId]) {
                        if(item.path.indexOf('developing') > -1){
                            item.development = false;
                        }else{
                            item.development = true;
                        }
                      sourceMap[item.parentId].children.push(item);
                    }
                  }
                })
                return menus;
            },

 

标签:development,menus,转换,树状,item,sourceMap,数组,parentId,children
From: https://www.cnblogs.com/LindaBlog/p/17989219

相关文章

  • 无涯教程-Scala - 数组(Arrays)
    Scala提供了一种数据结构数组,它存储了相同类型元素的固定大小的顺序集合。声明数组要在程序中使用数组,必须声明一个变量以引用该数组,并且必须指定该变量可以引用的数组的类型。varz:Array[String]=newArray[String](3)orvarz=newArray[String](3)在此,z被声明为可容......
  • 深度解析C#数组对象池ArrayPool<T>底层原理
    提到池化技术,很多同学可能都不会感到陌生,因为无论是在我们的项目中,还是在学习的过程的过程,都会接触到池化技术。池化技术旨在提高资源的重复使用和系统性能,在.NET中包含以下几种常用的池化技术。(1)、连接池(ConnectionPool):用于管理数据库连接的池化技术。连接池允......
  • java 判断数组类型
    Java判断数组类型在Java中,数组是一种特殊的数据结构,可以存储多个相同类型的元素。当我们处理数组时,有时候需要判断数组的类型,以便进行相应的操作。本文将介绍几种判断数组类型的方法,并提供相应的代码示例。1.使用instanceof运算符Java中的instanceof运算符用于判断一个对......
  • vue实现将word转换为HTML页面,并实现类似word的目录导航和关键字搜索跳转
    <template>  <divclass="content">    <divclass="header">      <divclass="title">        XXXXXX      </div>      <divclass="search">   ......
  • 八、ADC模数转换
    六、ADC模数转换ADC简介ADC(Analog-DigitalConverter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁12位逐次逼近型ADC,1us转换时间输入电压范围:03.3V,转换结果范围:0409518个输入通道,可测量16个外部和2个内部信号......
  • (2/60)有序数组平方、长度最小子数组、螺旋矩阵
    有序数组的平方leetcode:977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。暴力法思路遍历数组,元素原地替换为自身平方值。将数组进行排序。复杂度分析时间复杂度:O(N+logN)空间复杂度:O(1)注......
  • leecode数组
    217.存在重复元素给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例1:输入:nums=[1,2,3,1]输出:true示例2:输入:nums=[1,2,3,4]输出:false示例 3:输入:nums=[1,1,1,3,3,4,3,2,4,2]输出:true......
  • js中数组反转的方法总结
    1.常用的方法reverse()[1,2,3,4].reverse()  //[4,3,2,1]2.采用for循环方式使用递减循环遍历的方式,将元素一次存入新的数组中,新数组就是反转后的新数组constdataRef=[1,2,3,4]constnewArr:any[]=[]for(leti=dataRef.length-1;i>=0;i--){ne......
  • 代码随想录算法训练营第二天|977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II
    977.有序数组的平方给你一个按非递减顺序排序的整数数组nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/错误的vector遍历方式,这会导致访问越界!!!while(nums[flag]<0)flag++;倒也不难,我......
  • 收集Stream流的数据到集合或数组中
    1publicstaticvoidmain(String[]args){2List<String>list=newArrayList<>();3list.add("张三");4list.add("李四");5list.add("王武");6list.add("王武"......