对象数组找父节点组装成树结构

116 阅读1分钟
var arr = [
            {
                id: 1,
                name: "石家庄市",
                parentId: 2
            }, {
                id: 2,
                name: "河北省",
                parentId: 0
            },{
                id: 3,
                name: "保定市",
                parentId: 2
            }, {
                id: 4,
                name: "深泽县",
                parentId: 1
            }, {
                id: 5,
                name: "铁杆镇",
                parentId: 4
            }, {
                id: 6,
                name: "满城县",
                parentId: 3
            }, {
                id: 7,
                name: "北京市",
                parentId: 0
            }, {
                id: 8,
                name: "西城区",
                parentId: 7
            },
        ]
        const buildTree = (arr, parentId) => {
            let tree = [];
            arr.map((item) => {
                if (item.parentId === parentId) {
                    item.children = buildTree(arr, item.id);
                    tree.push(item);
                }
            });
            return tree;
        }
        console.log(buildTree(arr, 0)); //根id:是0

原文链接:blog.csdn.net/csdn_buildu…