js 递归遍历树形结构数据,返回新的数组

  1. 工作中,我们经常会遇到这样的情况:后端返回的数组,只需要取name、value生成新的数组,或者是将某个属性名修改,生成新的数组。

  2. 递归是一种常见的解决问题的方法,即把问题逐渐简单化。“递归”的基本思想是:自己调用自己。

  3. 实例如下
    handleDg(arrs, that) {
    arrs.map((item, index) => {
    if (item.num > 0) { //此处判断num大于0再进行操作
    that.push({ name: item.name, value: item.num, bfb: item.bfb });
    }
    if (item.children) { //有子集的话 继续调用
    this.handleDg(item.children, that[index].children);
    }
    });
    return that; //返回的that就是新生成的多数组
    },

    var newArray = this.handleDg(arr, []);

posted @ 2023-04-04 10:40  李美玲  阅读(1203)  评论(0编辑  收藏  举报