先贴上数据
this.menuList = routes.filter(e => {
return menuNm.some(item => item == e.name)
})
但是控制台打印this.menuList一直为空,哪里有问题,麻烦指点迷津
循环遍历嵌套,有相同的值 return出来
你这块代码逻辑是没问题的,造成这情况,需要注意menuList 是在什么阶段进行赋值的。
routes.filter(e => menuNm.includes(e.name)) // 你那个看着挺别扭的,换成这写法会清晰很多
用你代码试了,没问题的
let routes = [{ name: "name1" }, { name: "name2" }, { name: "name3" }];
let menuNm = ["name1", "name3"];
console.log(routes.filter((e) => {
return menuNm.some((item) => item == e.name);
}))
过滤代码没问题,可能的原因是this.menuList输出时 未完成过滤