一、

let dataInfo = res.data || []

        let setTree = []

        dataInfo.forEach(item => {

          if (item.level === 1 || item.level === 2) {

            const parent = dataInfo.find((node) => node.id === item.pid)

            if (parent) {

              parent.children = parent.children || []

              parent.children.push(item)

            } else {

              setTree.push(item)

            }

          }

        })

 

 

二、

// 先生成parent建立父子关系

        const obj = {}

        dataInfo.forEach((item) => {

          obj[item.id] = item

        });

        const parentList = []

        dataInfo.forEach((item) => {

          const parent = obj[item.pid]

          if (parent) {

            // 当前项有父节点

            parent.children = parent.children || []

            parent.children.push(item)

          } else {

            // 当前项没有父节点 - 顶层

            parentList.push(item)

          }

        })

        console.log(parentList)

posted on 2023-04-11 10:56  小老虎网络  阅读(11)  评论(0编辑  收藏  举报