原文链接: https://juejin.cn/post/7020788438932684831 我自己用的时候需要
// 一维数组转换为二维数组树形结构
    newTree(data,idStr,pidStr){
      // idStr是每条数据的id
      // pidStr是每条数据的parentId,根据这个字段判断数据之间的父子关系
      let result = [];
      let map = {};
      if(!Array.isArray(data)){
        return result;
      }
      //清除之前的children
      data.forEach(item=>{
        delete item.children;
      });
      //将所有数据的id作为key键,添加到map对象中
      data.forEach(function(item){
        // 这块是要给title设置自定义显示内容
        item.title = item['id'] + ' - ' + item['name'];
        item.id = item['id'];
        map[item[idStr]] = item;
      });
      //处理数据以及层级问题
      data.forEach(function(item){
        const parent = map[item[pidStr]];
        if(parent){
          // 添加parent
          if(!parent.children){
            parent.children = [];
          };
          parent.children.push(item);
        }else{
          result.push(item);
        }
      });
      return result;
    },
// 获得树形结构数据
const newTreeData = this.newTree(res.data,'id','parentId');
 
  
  
 
 
 