一维数组转树形结构

5,860 阅读1分钟
var data=[
			{ id: 40, parentId: 0, note: "一级菜单-1" }, 
			{ id: 20, parentId: 0, note: "一级菜单-2" },
			{ id: 22, parentId: 20, note: "二级菜单-22" },
			{ id: 24, parentId: 22, note: "三级菜单-24" },
			{ id: 34, parentId: 22, note: "三级菜单-34" }
    ];
			function filterArray(data, parent) {
					let vm = this;
					var tree = [];
					var temp;
					for (var i = 0; i < data.length; i++) {
						if (data[i].parentId == parent) {
							var obj = data[i];
							temp = filterArray(data, data[i].id);
							if (temp.length > 0) {
								obj.children = temp;
							}
							tree.push(obj);
						}
					}
					return tree;
				}
				let arrlist=filterArray(data,'0');