首页 > 其他分享 >扁平数组转树结构

扁平数组转树结构

时间:2022-10-29 09:33:32浏览次数:56  
标签:title 树结构 list children item 扁平 数组 parentId id

<!DOCTYPE html>
<html lang="en">
	<head>
		<title></title>
		<meta charset="UTF-8">
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<link href="css/style.css" rel="stylesheet">
	</head>
	<body>

		<script>
			let list = [{
					"id": 1,
					"title": "首页",
					"parentId": 0,
				},
				{
					"id": 3,
					"title": "权限管理",
					"parentId": 2,
				},
				{
					"id": 4,
					"title": "页面管理",
					"parentId": 3,
				},
				{
					"id": 5,
					"title": "适用组件",
					"parentId": 0,
				},
				{
					"id": 6,
					"title": "json编辑器",
					"parentId": 5,
				},
				{
					"id": 7,
					"title": "富文本编辑器",
					"parentId": 5,
				},
				{
					"id": 2,
					"title": "系统管理",
					"parentId": 0,
				},
				{
					id: 8,
					"title": "组件管理",
					"parentId": 4
				}
			]

			function setTree(list) {
				return list.filter((item) => {
					let children = list.filter((child) => {
						return item.id == child.parentId
					})
					if (children.length > 0) {
						item['children'] = children
					}
					return item['parentId'] == 0
				})
			}
			console.log(setTree(list));
		</script>
	</body>
</html>

 转换前

 

 转换后

 

标签:title,树结构,list,children,item,扁平,数组,parentId,id
From: https://www.cnblogs.com/jzm2842688813/p/16838065.html

相关文章

  • 将1000内素数放入数组
    #include<stdio.h>intmain(){inti=0;intj=0;inttemp=0;intarr[1000]={};for(i=2;i<1000;i++){ for(j=2;j<i;j++){ if(i%j==0){ break;}} if(......
  • 1879. 两个数组最小的异或值之和
    题目描述给了两个数组nums1和nums2,长度都是n,问怎么排列可以让数组对应元素的异或值之和最小?f1-二进制枚举+状态压缩基本分析1.有没有是啥贪心做法,因为看到相同元素异或......
  • JS删除两个数组对象中id相同的对象
    letarr1=[{id:'1',name:'json'},{id:'2',name:'book'}]letarr2=[{id:'1',name:'json',age:'15'},{id:'2',name:'book',age:'16'},{id:'3',name:'......
  • 【BZOJ1818】【CQOI2010】【XSY2428】内部白点(树状数组+扫描线)
    先把所有点的\(x\)坐标离散化。然后分别将所有点按\(x\)、\(y\)排序。这里以按\(x\)排序为例,对于\(x\)坐标相同的两个点,我们把它们连成一条线段。那么按\(y\)坐标排序也一......
  • 最大子数组之和完成心得--贪心算法的应用
    intpre=0,maxAns=nums[0];for(intx:nums){pre=Math.max(pre+x,x);maxAns=Math.max(maxAns,pre);}......
  • JS数组对象排序
    原文地址:https://blog.csdn.net/qq_37899792/article/details/88655920利用数组api——>sort来进行排序varperson=[{name:"Rom",age:12},{name:"Bob",age:22},{name:......
  • C#后端接收前端json数组
    C#后端接收前端json数组方案一:///<summary>///(APP端)查询购物车选中商品的总价///</summary>publicclassCartTotalPriceRequestDto{/......
  • js-2-数组部分
      创建数组的两种方式:1,利用数组字面量vararr= [1,2,3];2,利用newArray()vararr=newArray();创建一个长度为2的数组vararr1=newArray(2); <script>......
  • php 读取 csv 转数组列表
    我们有个文档需要修改,但是文档列太多,以及数量太大,以至于眼睛看起来很吃力,于是我决定做个简单的转化用脚本读取我想要验证的列的内容是否正确.于是就产生了一个这样将c......
  • Leetcode第907题:子数组的最小值之和(Sum of subarrays minimums )
    解题思路既然我们不能先遍历区间,然后找最小值,那么我们不如顺序倒过来,对于每个值,我们找有多少区间里面,它是最小值。对于一个数字A[i]来说,如果在某个区间[j,k]里面它......