服务端返回对象数组,通过条件转为树结构

93 阅读1分钟
// 此数组中性别为分类条件
    let list = [
      {
       name:'张三1',
       sex:'女'
      },
      {
       name:'张三2',
       sex:'男'
      },
      {
       name:'张三3',
       sex:'女'
      },
      {
       name:'张三4',
       sex:'男'
      },
      {
       name:'张三5',
       sex:'女'
      },
     {
       name:'张三6',
       sex:'男'
     }];
         let obj = {};
        // 数据拆分合并
        list.forEach((item) => {
        // 判断对象中有没有此属性,没有则进行赋值
          if (!obj[item.sex]) {
            obj[item.sex] = [];
          }
          obj[item.sex].push(item);
        });
        // 处理为树结构
        let newList = [];
        for (let key in obj) {
          newList.push({ realName: key, children: obj[key] });
        }
        // 赋值结束
        this.treeData = newList;