* @description 使用递归处理路由菜单,生成一维数组,做菜单权限判断
* @param {Array} menuList 所有菜单列表
* @param {Array} newArr 菜单的一维数组['/home','/list']
* @return array
*/
export function filterRouter(routerList: Menu.MenuOptions[], newArr: string[] = []) {
let resultList = [];
for (let i = 0; i < routerList.length; i++) {
let item = routerList[i];
if (newArr.indexOf(item.path) == -1) {
routerList.splice(i--, 1);
} else {
if (item.children) {
item.children = filterRouter(item.children, newArr);
}
resultList.push(item);
}
}
return resultList;
}
const assemble = (tree) => {
var newArr = [];
for (var i = 0; i < tree.length; i++){
var item = tree[i];
if(item.type === 'test') {
tree.splice(i--, 1);
} else {
if (item.childNodes) {
item.childNodes = assemble(item.childNodes);
}
newArr.push(item);
}
}
return newArr;
},