日常在后台管理系统中我们常用到的有递归json。
前端根据后端给的接口获取到当前后台管理系统左侧菜单列json。而这个json是一个递归数组。
类似于如下:
var data = [
{
type:'1',
children:[
{
type:'2',
children:[
{
type:'3'
}
]
}
]
}
]
当我们要点击每个菜单的时候获取当前的type 属性,这时候就比较懵逼了,我们怎么做呢?
解析它! 把这个递归数组解析成一个一维数组,无疑,就简单了许多。
代码如下:
var arr = [];
function getMenuAll (arr) {
arr.filter(item => {
menuArr.push(item)
if(item.children && item.children.length) {
getMenuAll(item.children)
}
})
}
getMenuAll(data)
console.log(arr)
其实总的思想跟写递归组件的思想是差不多的,代码也很简单。各位顺手给个赞呗。