js使⽤filter递归过滤树形结构数组对树结构的数组进⾏数据过滤还是很常见的⼀种数据处理,这⾥进⾏⼀下记录以便以后使⽤
// 菜单列表
const menuList =[{
name:'系统管理',
code:'system_manage',
children:[{
name:'⽤户管理',
code:'user_manage',
children:[{
name:'添加⽤户',
code:'add_user'
},{
name:'编辑⽤户',
code:'edit_user'
},{
name:'删除⽤户',
code:'del_user'
}]
},{
name:'⾓⾊管理',
code:'role_manage',
children:[{
name:'添加⾓⾊',
code:'add_role'
}]
}]
},{
name:'业务管理',
code:'bus_manage',
children:[{
name:'流程管理',
code:'process_manage'
}]
},{
name:'订单管理',
code:'order_manage'
}]
// 权限列表
const myMenuCode =['system_manage','user_manage','add_user','order_manage']
const filterMenu=(menuList, menuCode)=>{
return menuList.filter(item =>{
return menuCode.de)>-1
filter过滤对象数组}).map(item =>{
item = Object.assign({}, item)
if(item.children){
item.children =filterMenu(item.children, menuCode)
}
return item
})
}
// 过滤后的菜单
const myMenu =filterMenu(menuList, myMenuCode)
console.log(myMenu)
⽂章来源:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论