树形扁平化方法
// 树形扁平化方法
const flatten = function (arr) {
const res = []; // 用于存储递归结果(扁平数据)
// 递归函数
const fn = (source) => {
source.forEach((el) => {
res.push(el);
// 执行递归
if (Array.isArray(el.children) && el.children.length > 0) {
fn(el.children);
} // 子级递归
});
};
fn(arr);
return res;
};
// 扁平化后
const flattened = flatten(list);
// console.log("扁平化后", flattened);
const rules = function (perms) {
return flattened.some((item) => {
const isRules = item.perms === perms && item.status === 1;
if (isRules) {
flag = true
}
return isRules;
});
// 简化写法
/* return item.perms === perms && item.status === 1 */
};
rules(perms)
return flag