function everyFilter(list: Array<any>, flag: (number | string | number[])[], key: string) {
const arr = [...list].filter(x => [...flag].some(y => y == x[key]));
return arr;
}
function filterTree(tree: any, param: (number | string | number[])[], key: string) {
if (!tree.length) return [];
let arr = everyFilter(tree, param, key);
if (arr.length === 0) {
for (const item of tree) {
if (item.children && item.children.length) {
arr = filterTree(item.children, param, key)
if (arr.length > 0) {
break;
}
}
}
}
return arr;
}
filterTree(tree,[needVal],'key')
// tree 数据
// needVal 树里面的某一个值
// 'key' 某个参数去找