js 递归遍历树形结构数据,返回新的数组
-
工作中,我们经常会遇到这样的情况:后端返回的数组,只需要取name、value生成新的数组,或者是将某个属性名修改,生成新的数组。
-
递归是一种常见的解决问题的方法,即把问题逐渐简单化。“递归”的基本思想是:自己调用自己。
-
实例如下
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, []);