// const filterByMenuDate = (data, keyWord) =>{
// console.log(888888888888,data,keyWord)
// let returnArr = data.map((item) => {
// if ((item.name && item.name.includes(keyWord)) ||filterByMenuDate(item.children || [], keyWord).length > 0) {
// return {
// ...item,
// // children: filterByMenuDate(item.children || [], keyWord),
// }
// } else if(item.children && item.children.some(a=>a.name.includes(keyWord))){
// return {
// ...item,
// children: filterByMenuDate(item.children || [], keyWord),
// }
// }
// return undefined;
// }).filter((item) => item);
// return returnArr
// }
const filterByMenuDate = (data, keyWord) =>{
console.log(888888888888,data,keyWord)
let returnArr = data.map((a)=>{
if(a.name && a.name.includes(keyWord)){
return a
} else if (a.children && a.children.some(b=>JSON.stringify(b).includes(keyWord))) {
return {
...a,
children:filterByMenuDate(a.children || [], keyWord)
}
}else{
return false
}
}).filter((item) => item);
return returnArr
}
树形 结构 递归 替换
const handTreeArr = (arr) => {
let retArr = arr.map((a) => {
if (a.children && a.children.length > 0) {
return {
title: a.name,
key: a.path,
children: handTreeArr(a.children)
}
} else {
return {
title: a.name,
key: a.path,
children: a.children
}
}
}).filter((a) => a)
return retArr
}
const getParentKey = (key, tree) => {
let parentKey;
for (let i = 0; i < tree.length; i++) {
const node = tree[i];
if (node.children) {
if (node.children.some(item => item.key === key)) {
parentKey = node.key;
} else if (getParentKey(key, node.children)) {
parentKey = getParentKey(key, node.children);
}
}
}
return parentKey;
};