将一维的扁平数组转换为多层级对象

2021-09-17  本文已影响0人  用技术改变世界

1.数据结构:

 {

          id: 'value',// ID

          label: 'label',// 显示名称

          children: 'children', //子级字段名

          path: 'path',//路径

          content: 'content',//描述

          pid: 'pid',//父id

        }

// 递归处理方法:

    switchTree() {

      return this.buildTree(this.data, this.defaultValue);

    },

    将一维的扁平数组转换为多层级对象

    buildTree(data, id) {

      const fa = (id) => {

        const temp = [];

        for (let i = 0; i < data.length; i++) {

          const n = data[i];

          if (n[this.obj.pid] === id) {

            n[this.obj.children] = fa(n[this.obj.id]);

            temp.push(n);

          }

        }

        return temp;

      };

      return fa(id);

    },

上一篇 下一篇

猜你喜欢

热点阅读