//定义函数
const filterTree = (treeArr) => {
function findItem (arr) {
let res = arr.filter(item => {
if (item.children && item.children.length > 0 && item.isShow) {//isShow为true且有子集递归
item.children = childFilter(item.children)
}
return item.isShow//isShow为false的过滤掉
})
return res
}
function childFilter (childArr) {
return childArr.filter(item => {
if (item.children && item.children.length > 0 && item.isShow) {
item.children = childFilter(item.children)
}
return item.isShow
})
}
return findItem(treeArr)
}
//调用函数
console.log(filterTree(arr))
js递归过滤树形结构
于 2022-04-22 10:14:56 首次发布