js list数据 转 树状 层级 JSON,递归生成树状 层级 JSON

<!DOCTYPE html>
<html>
<head>
<script>
var data=[
{"id":"aaa","parentId":"account","spType":0,"layerId":0,"seqId":1,"name":"阿萨德发多少","deleted":"0"},
{"id":"account","parentId":"","spType":0,"layerId":0,"seqId":50,"name":"账户","deleted":"0"},
{"id":"bbb","parentId":"account","spType":0,"layerId":0,"seqId":2,"name":"阿萨德发多少","deleted":"0"},
{"id":"ccc","parentId":"account","spType":0,"layerId":0,"seqId":3,"name":"a啊都是发","deleted":"0"},
{"id":"ddd","parentId":"dispatch","spType":0,"layerId":0,"seqId":1,"name":"大夫","deleted":"0"},
{"id":"dispatch","parentId":"","spType":0,"layerId":0,"seqId":2,"name":"通知公告","deleted":"0"},
{"id":"eee","parentId":"dispatch","spType":0,"layerId":0,"seqId":2,"name":";卡萨丁","deleted":"0"},
{"id":"fff","parentId":"gridding","spType":0,"layerId":0,"seqId":1,"name":"拉收到了","deleted":"0"},
{"id":"gridding","parentId":"","spType":0,"layerId":0,"seqId":1,"name":"网格化管理","deleted":"0"},
{"id":"portals","parentId":"","spType":0,"layerId":0,"seqId":3,"name":"综合信息门户管理","deleted":"0"}
];

   var getJsonTree=function(data,parentId){
    	var itemArr=[];
		for(var i=0;i<data.length;i++){	
			var node=data[i];
			//data.splice(i, 1)
			 if(node.parentId==parentId ){	
				var newNode={id:node.id,title:node.name,nodes:getJsonTree(data,node.id)};
				itemArr.push(newNode);				 
			 }
		}
		return itemArr;
    }
	
	console.log(getJsonTree(data,''));
	
	
</script>
</head>

<body>

</body>
</html>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏李成熙heyli

webpack2生成代码分析

打包一个模块 // webpack.config.js module.exports = { entry: { index: "./ma...

38310
来自专栏我的博客

防火墙配置脚本

#!/bin/sh iptables -F iptables -X iptables -P INPUT DROP iptables -P OUTPUT D...

3195
来自专栏技术博文

Linux配置防火墙,开启80端口、3306端口

vi /etc/sysconfig/iptables  -A INPUT -m state –state NEW -m tcp -p tcp –dport 80...

8619
来自专栏运维小白

10.14 iptables语法

linux防火墙-netfilter 查看iptables规则:iptables -nvL iptables -F 清空规则 service iptab...

2026
来自专栏iOS技术杂谈

iOS网络——AFNetworking AFHttpSessionManager源码解析

你要知道的NSURLSession都在这里 转载请注明出处 https://cloud.tencent.com/developer/user/1605429 本...

5318
来自专栏pangguoming

CentOS中iptables防火墙 开放80端口方法

开放端口:  代码如下 复制代码 [root@WX32 ~]# iptables -I INPUT -p tcp --dport 80 -j ACC...

6844
来自专栏刘远飞的专栏

Docker快速入门以及安装使用

docker通过内核虚拟化技术(namespace及cgroups等)来提供容器的资源隔离与安全保障等,由于docker通过操作系统层的虚拟化实现隔离,所以do...

5.6K0
来自专栏Java技术栈

JDK8新特性之重复注解

什么是重复注解 下面是JDK8中的重复注解( java.lang.annotation.Repeatable)定义的源码。 @Documented @Reten...

35312
来自专栏散尽浮华

centos6.5虚拟机安装后,没有iptables配置文件

openstack环境里安装centos6.5系统的虚拟机,安装好后,发现没有/etc/syscofig/iptables防火墙配置文件。 解决办法如下: [r...

1976
来自专栏王二麻子IT技术交流园地

Java Annotation 注解

首先什么是注解? 最常见的是,在我们使用Eclipse等工具编写java代码的时候,有时候会出现一些比如@Deprecated,@Override,@Suppr...

1885

扫码关注云+社区