扁平数组转树形结构数组

图一:原数据,图二:期望得到的树形数据

图1
图2

toTree(data) {//-data为原数据数组

      let result = [];

      if (!Array.isArray(data)) {

        return result;

      }

      data.forEach((item) => {

        delete item.children;

      });

      let map = {};

      data.forEach((item) => {

        map[item.id] = item;

      });

      data.forEach((item) => {

        let parent = map[item.parentid];

        if (parent) {

          (parent.children || (parent.children = [])).push(item);

        } else {

          result.push(item);

        }

      });

      // console.log(12,result)//最新数据

      this.result = result;

      return result;

    },

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容