//递归转换字段
function TreeMap(perssion) {
return perssion.map((v) => {
return {
...v,
children: v.childPermission.length
? TreeMap(v.childPermission)
: [],
label: v.permissionName,
};
});
}
//可以把整个数据当作字符串处理替换
function TreeArrayMap(menu) {
let temp = JSON.stringify(menu);
temp = temp
.replaceAll("permissionName", "label")
.replaceAll("childPermission", "children");
return JSON.parse(temp);
}
function TreeMapPush(menus) {
let tempmneus = [];
var _data = JSON.parse(JSON.stringify(menus));
_data.forEach((v, index) => {
tempmneus = [
...tempmneus,
{
label: v.permissionName,
children: v.childPermission,
},
];
if (v.childPermission) {
v.childPermission.forEach((v1) => {
tempmneus[index].children = [
...tempmneus[index].children,
{
label: v.permissionName,
children: v.childPermission,
},
];
});
TreeMapPush(v.childPermission);
}
});
return menus;
}
console.log(TreeArrayMap(perssion));
递归转换字段
最新推荐文章于 2024-06-18 10:53:43 发布
这篇博客探讨了如何使用JavaScript实现递归转换数据结构,包括`TreeMap`和`TreeArrayMap`两个函数。`TreeMap`用于将权限树结构进行映射,而`TreeArrayMap`则将整个数据字符串化并替换特定字段。此外,`TreeMapPush`函数用于处理菜单数据,通过递归方式构建层级结构。这些函数在处理复杂数据结构时非常实用。
摘要由CSDN通过智能技术生成