ITPub博客

首页 > 应用开发 > Javascript > Vue/Js 递归函数封装:查询数组对象内容,合并至一个数组中

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

原创 Javascript 作者:yikehulian01 时间:2020-10-20 15:22:22 0 删除 编辑

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


递归代码封装实现:

// 递归设置
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_tag
const 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 [];
}

代码仅供参考,如有不妥之处还望之处,共同进步

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69985427/viewspace-2728153/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
搭建专属的移动订货商城 免费使用

注册时间:2020-10-14

  • 博文量
    57
  • 访问量
    55825