js之列表转为树结构

js之列表转为树结构

 原理:

 list.reduce

方法:

children:子级数组名称
id:数据id
parentid:父级id字段名称

如果列表中字段名称不一致,需要修改方法中的这三个参数名。

list:列表数据
rootvalue:父元素id字段第一级的默认值,一般为0或者null。根据数据传入。

// 将列表转为树
    tranListToTreeData(list, rootvalue) {
      return list.reduce((prev, curr, index, arr) => {
        const ele = arr.filter(item => item.parentid === curr.id)
        // debugger
        if (ele.length) {
          curr.children = ele
        }
        if (curr.parentid === rootvalue) {
          prev.push(curr)
        }
        return prev
      }, [])
    },

 

调用:

let treeData = this.tranListToTreeData(treeData, 0)

  

 

钻研不易,转载注明出处。。。。。。

 

 

posted @ 2023-11-30 17:08  莫小龙  阅读(356)  评论(0编辑  收藏  举报