有一个子父级树形结构的数据,现需要递归遍历,找到类型为‘1’的数据,过滤子级,最后返回树形结构数据
代码如下
//调用方法,返回按要求过滤后的数据
const newArr= this.clearChildrenOfTypeIndex(arr)
//定义过滤方法
clearChildrenOfTypeIndex(tree) {
//避免原始数组被直接修改
const newTree = JSON.parse(JSON.stringify(tree))
for (let i = 0; i < newTree.length; i++) {
this.deleteChildren(newTree[i])
}
return newTree
},
//递归
deleteChildren (node) {
if (node.type === '1' && node.children) {
//删除子级
node.children = []
}
if (node.children && node.children.length > 0) {
for (let i = 0; i < node.children.length; i++) {
this.deleteChildren(node.children[i], filterType)
}
}
},
标签:node,掉子级,递归,JavaScript,length,newTree,deleteChildren,过滤,children
From: https://blog.csdn.net/qq_44989271/article/details/143034119