700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Vue/Js 递归函数封装:查询数组对象内容 合并至一个数组中

Vue/Js 递归函数封装:查询数组对象内容 合并至一个数组中

时间:2018-06-30 21:31:22

相关推荐

Vue/Js 递归函数封装:查询数组对象内容 合并至一个数组中

实现需求:把一个多维数组对象通过条件合并至一个数组中;如下图需求:

递归代码封装实现:

// 递归设置function setHandleListb(list) {const arr = [];let obj = {}; list.forEach(item => { const tmp = { ...item };if(tmp.purview_tag){if (tmp.children) {const chirlList = setHandleListb(tmp.children)obj = {purview_tag: tmp.purview_tag,admin_menu_id: tmp.admin_menu_id,icon: tmp.icon,is_show: tmp.is_show,name: tmp.name,parent_id: tmp.parent_id,}arr.push(obj)arr.push(...chirlList);}else {obj = {purview_tag: tmp.purview_tag,admin_menu_id: tmp.admin_menu_id,icon: tmp.icon,is_show: tmp.is_show,name: tmp.name,parent_id: tmp.parent_id}arr.push(obj);}}})return arr;}// 使用设置存储export function setMenuList(menu) {// 操作权限列表 purview_tagconst result = JSON.stringify(setHandleListb(menu))window.sessionStorage.setItem('HandleChirldList', result)}// 取出操作权限设置export function getHandleChirldList() {var list = window.sessionStorage.getItem('HandleChirldList');if (list) {return JSON.parse(list);}return [];}

以上内容仅供参考!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。