使用 js 的数组方法从二维数组中搜索一个符合条件的值
是处理菜单和路由时的实际案例。
当从一个具体的路由(例如:localhost:8899/#/blog/new
)进入页面时,需要按照当前路由来初始化菜单的选中状态。如下是菜单数组:
[
{
path: '/dashboard',
title: '控制台',
icon: 'dashboard'
},
{
title: '博客管理',
icon: 'dashboard',
children: [
{
path: '/blog/new',
title: '新博文',
icon: 'dashboard'
},
{
path: '/blog/blogs',
title: '文章列表',
icon: 'dashboard'
},
{
path: '/blog/categorys',
title: '分类列表',
icon: 'dashboard'
},
]
},
{
title: '系统设置',
icon: 'dashboard',
children: [
{
path: '/setting/baseinfo',
title: '基本信息设置',
icon: 'dashboard'
},
{
path: '/blog/seo',
title: 'seo 配置',
icon: 'dashboard'
},
{
path: '/blog/themes',
title: '主题市场',
icon: 'dashboard'
},
{
path: '/blog/export',
title: '导出博文',
icon: 'dashboard'
}
]
}
]
如何用 js 的数组方法(不能用 foreach、for…in、for),从数组中找出符合 path == '/blog/new'
的一项,并且得到对应项的 index,如果符合条件的项目在 children
里,还要返回两层分别的 index。
结果类似:
如果路由是 /dashboard
,则结果是 0
;
如果路由是 /blog/new'
,则结果是 1_0
。