美文网首页
使用递归将一维数组转换成tree 结构

使用递归将一维数组转换成tree 结构

作者: 冰落寞成 | 来源:发表于2024-03-21 14:53 被阅读0次

    list 转换成tree

      /**
       * 将普通数组转换成tree
       */
        listToTree (list, pid = 0) {
          const tree = []
          list.forEach(item => {
            if (item.pid === pid) {
              const children = this.listToTree(list, item.id)
              if (children.length > 0) {
                item.children = children
              }
              tree.push(item)
            }
          })
          return tree
        },
    
    export const arrayToTree=({list=[], pid=0,parentIdKey="parentId",childrenKey='id'}={})=>{
        const tree = []
        list.forEach(item => {
          console.log('item[parentIdKey]',item[parentIdKey],pid,item[parentIdKey] === pid)
          if (item[parentIdKey] === pid) {
            const children = arrayToTree({list, pid:item[childrenKey],parentIdKey,childrenKey})
            if (children.length > 0) {
              item.children = children
            }
            tree.push(item)
          }
        })
        return tree
    }
    

    相关文章

      网友评论

          本文标题:使用递归将一维数组转换成tree 结构

          本文链接:https://www.haomeiwen.com/subject/hconbdtx.html