posts - 108,  comments - 44,  views - 45万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

 

一、

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   小老虎网络  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2017-04-11 git的一些常用操作
2017-04-11 解决安装xcode后git使用报错的问题
点击右上角即可分享
微信分享提示