日常在后台管理系统中我们常用到的有递归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)
其实总的思想跟写递归组件的思想是差不多的,代码也很简单。各位顺手给个赞呗。