遇到一个数据转换问题,求各位大神思路?
原数据
originData = [
{ id: 1, name: '权限管理-授权管理-授权' },
{ id: 2, name: '权限管理-授权管理-编辑' },
{ id: 3, name: '权限管理-授权管理-删除' },
{ id: 4, name: '权限管理-角色管理-添加' },
{ id: 5, name: '权限管理-角色管理-编辑' },
{ id: 6, name: '系统接入管理-添加' },
{ id: 7, name: '系统接入管理-编辑' },
{ id: 8, name: '动态菜单树' },
]
期望数据
expectData = [
{
name: '权限管理',
children: [
{
name: '授权管理',
children: [
{ name: '授权', id: '1' },
{ name: '编辑', id: '2' },
{ name: '删除', id: '3' }
]
},
{
name: '角色管理',
children: [
{ name: '添加', id: '4' },
{ name: '编辑', id: '5' }
]
}
]
},
{
name: '系统接入管理',
children: [
{ name: '添加', id: '6' },
{ name: '编辑', id: '7' }
]
},
{ name: '动态菜单树', id: '8' }
]
1 回复
只考虑两层分类的话,用 ramda 来做的话, 两次 groupby, 然后 zipObj 实现