将扁平数据转换为tree型数据

<script type="text/javascript">
			var meun_list = [
				{
					id:'1',
					meun_name:'设置',
					meun_url:'',
					parent_id:0
				},
				{
					id:'1-1',
					meun_name:'权限设置',
					meun_url:'',
					parent_id:'1'
				},
				{
					id:'1-1-1',
					meun_name:'用户管理列表',
					meun_url:'',
					parent_id:'1-1'
				},
				{
					id:'1-1-2',
					meun_name:'用户管理新增',
					meun_url:'',
					parent_id:'1-1'
				},
				{
					id:'1-1-3',
					meun_name:'角色管理列表',
					meun_url:'',
					parent_id:'1-1'
				},
				{
					id:'1-2',
					meun_name:'菜单设置',
					meun_url:'',
					parent_id:'1'
				},
				{
					id:'1-2-1',
					meun_name:'菜单列表',
					meun_url:'',
					parent_id:'1-2'
				},
				{
					id:'1-2-1',
					meun_name:'菜单添加',
					meun_url:'',
					parent_id:'1-2'
				},
				{
					id:'2',
					meun_name:'订单',
					meun_url:'',
					parent_id:0
				},
				{
					id:'2-1',
					meun_name:'报单审核',
					meun_url:'',
					parent_id:'2'
				},
				{
					id:'2-2',
					meun_name:'退款管理',
					meun_url:'',
					parent_id:'2'
				}
			];
			
			function buildTree(list){
				var temp = {},tree = {};
				for(var i in list){
					temp[list[i].id] = list[i]
				}
				console.log(temp)
				for(var i in temp){
					if(temp[i].parent_id){
						if(!temp[temp[i].parent_id].children){
							temp[temp[i].parent_id].children = new Object();
						}
						temp[temp[i].parent_id].children[temp[i].id] = temp[i]
					}else{
						tree[temp[i].id] = temp[i]
					}
				}
				console.log(tree)
			}
			buildTree(meun_list);
		</script>

猜你喜欢

转载自www.cnblogs.com/sunny0120/p/9979228.html