数组转树形结构

248 阅读1分钟
// 转树形结构
    transTotree(list) {
        // 利用两层filter实现
        let data = list.filter(item => {
          item.children = list.filter(e => {
            return item.id === e.pid
          })
          return !item.pid
        })
        return data
    },
// 转树形结构 递归
    // 递归转树形结构
    transTotree(list, pid) {
      let treeList = [];
      // 根据list中pid来获取元素
      treeList = list.filter((item) => item.pid === pid);
      treeList.forEach(
        (item) => (item.children = this.transTotree(list, item.id))
      );
      return treeList;
    },