js 遍历树的层级关系的实现

js 遍历树的层级关系的实现
1.遍历树的层级关系

1)先整理数据

2)找到id和数据的映射关系

3)然后找到父节点的数据,进行存储

test() {
      const list = [
        { id: "123", parentId: "", children: [] },
        { id: "124", parentId: "123", children: [] },
        { id: "125", parentId: "124", children: [] },
        { id: "126", parentId: "125", children: [] },
        { id: "127", parentId: "126", children: [] }
      ];
      const mapList = [];
      const tree = [];
      list.forEach(item => {
       
        mapList[item.id] = item;
      });
      list.forEach(item => {
        const parentNode = mapList[item.parentId];
        if (!parentNode) {


       if (!item.children) {
         item.children = []
       }

          tree.push(item);
        } else {


      if (!parentNode.children) {
        parentNode.children = []
      }

          parentNode.children.push(item);
        }
      });
      console.log("tree", tree);
    }

参考

posted @ 2020-03-05 22:02  BigOrang  阅读(712)  评论(0编辑  收藏  举报