树形扁平化方法
树形扁平化方法
// 树形扁平化方法 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