现在有一组这样的数据
{
"id": "1",
"url": null,
"remark": null,
"parentId": "0",
"isMenu": 1,
"name": "用户及权限设置",
"status": 1,
"icon": "cc-visa",
"sort": 1,
"sysPermissions": [
{
"id": "4",
"url": "/abc/edf",
"remark": null,
"parentId": "1",
"isMenu": 2,
"name": "用户管理",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": null
},
{
"id": "5",
"url": "/abc/bcd",
"remark": null,
"parentId": "1",
"isMenu": 2,
"name": "权限管理",
"status": 1,
"icon": null,
"sort": 2,
"sysPermissions": null
}
]
},
{
"id": "2",
"url": null,
"remark": null,
"parentId": "0",
"isMenu": 1,
"name": "流程*积分*阀值设置",
"status": 1,
"icon": "credit-card",
"sort": 2,
"sysPermissions": [
{
"id": "6",
"url": "/abc/def",
"remark": null,
"parentId": "2",
"isMenu": 2,
"name": "流程设置",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": null
},
{
"id": "7",
"url": "/abc/asda",
"remark": null,
"parentId": "2",
"isMenu": 2,
"name": "积分设置",
"status": 1,
"icon": null,
"sort": 2,
"sysPermissions": null
},
{
"id": "8",
"url": "dwa/asda",
"remark": null,
"parentId": "2",
"isMenu": 2,
"name": "阀值设置",
"status": 1,
"icon": null,
"sort": 3,
"sysPermissions": null
}
]
},
{
"id": "3",
"url": null,
"remark": null,
"parentId": "0",
"isMenu": 1,
"name": "重点账户分组管理",
"status": 1,
"icon": "exclamation-triangle",
"sort": 3,
"sysPermissions": [
{
"id": "12",
"url": "dwa/asda",
"remark": null,
"parentId": "3",
"isMenu": 2,
"name": "重点账户分组管理",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": null
}
]
},
{
"id": "9",
"url": null,
"remark": null,
"parentId": "0",
"isMenu": 1,
"name": "账户实名监控",
"status": 1,
"icon": "credit-card",
"sort": 4,
"sysPermissions": [
{
"id": "13",
"url": "dwa/asda",
"remark": null,
"parentId": "9",
"isMenu": 2,
"name": "账户异常监控",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": [
{
"id": "19",
"url": "dwqdw/dwa",
"remark": null,
"parentId": "13",
"isMenu": 3,
"name": "频繁修改密码",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": null
},
{
"id": "20",
"url": "ads/caw",
"remark": null,
"parentId": "13",
"isMenu": 3,
"name": "密码修改前后资",
"status": 1,
"icon": null,
"sort": 2,
"sysPermissions": null
}
]
},
{
"id": "14",
"url": "dwa/asda",
"remark": null,
"parentId": "9",
"isMenu": 2,
"name": "资金交易异常监控",
"status": 1,
"icon": null,
"sort": 2,
"sysPermissions": [
{
"id": "21",
"url": "dwdwq/dwa",
"remark": null,
"parentId": "14",
"isMenu": 3,
"name": "单账户多股票交易",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": null
},
{
"id": "22",
"url": "dad/wdaw",
"remark": null,
"parentId": "14",
"isMenu": 3,
"name": "单账户成交次数",
"status": 1,
"icon": null,
"sort": 2,
"sysPermissions": null
}
]
},
{
"id": "15",
"url": "dwa/asda",
"remark": null,
"parentId": "9",
"isMenu": 2,
"name": "中登违法账户监控",
"status": 1,
"icon": null,
"sort": 3,
"sysPermissions": [
{
"id": "23",
"url": "ae/adwa",
"remark": null,
"parentId": "15",
"isMenu": 3,
"name": "限制新开账户监控",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": null
}
]
}
]
},
{
"id": "10",
"url": null,
"remark": null,
"parentId": "0",
"isMenu": 1,
"name": "异常账户核查反馈",
"status": 1,
"icon": "credit-card",
"sort": 5,
"sysPermissions": [
{
"id": "16",
"url": "dwa/asda",
"remark": null,
"parentId": "10",
"isMenu": 2,
"name": "监控触发情况",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": null
},
{
"id": "17",
"url": "dwa/asda",
"remark": null,
"parentId": "10",
"isMenu": 2,
"name": "核查双向通道",
"status": 1,
"icon": null,
"sort": 2,
"sysPermissions": null
}
]
},
{
"id": "11",
"url": null,
"remark": null,
"parentId": "0",
"isMenu": 1,
"name": "查询统计",
"status": 1,
"icon": "credit-card",
"sort": 6,
"sysPermissions": [
{
"id": "18",
"url": "dwa/asda",
"remark": null,
"parentId": "11",
"isMenu": 2,
"name": "统计明细",
"status": 1,
"icon": null,
"sort": 1,
"sysPermissions": null
}
]
}
]
想要转换成下面这样的
"router": [
{
"path": "",
"component": "Layout",
"redirect": "dashboard",
"children": [
{
"path": "dashboard",
"component": "dashboard/index",
"meta": {
"title": "首页",
"icon": "dashboard"
}
}
]
},
{
"path": "/example",
"component": "Layout",
"redirect": "/example/table",
"name": "Example",
"meta": {
"title": "案例",
"icon": "example"
},
"children": [
{
"path": "table",
"name": "Table",
"component": "table/index",
"meta": {
"title": "表格",
"icon": "table"
}
},
{
"path": "tree",
"name": "Tree",
"component": "tree/index",
"meta": {
"title": "树形菜单",
"icon": "tree"
}
}
]
},
{
"path": "/form",
"component": "Layout",
"children": [
{
"path": "index",
"name": "Form",
"component": "form/index",
"meta": {
"title": "表单",
"icon": "form"
}
}
]
},
{
"path": "*",
"redirect": "/404",
"hidden": true
}
]
现在我已经处理成下图
以下是我的代码
for (let i = 0; i < router.length; i++) { //更改url为component
router[i].component = router[i].url;
router[i].component = 'Layout'
router[i].meta = {};
delete router[i].url;
delete router[i].isMenu;
delete router[i].parentId;
delete router[i].remark;
delete router[i].sort;
delete router[i].status;
for (let j = 0; j < router[i].sysPermissions.length; j++) {
router[i].sysPermissions[j].component = router[i].sysPermissions[j].url.slice(5) + '/index';
router[i].sysPermissions[j].meta = {};
delete router[i].sysPermissions[j].url
delete router[i].sysPermissions[j].isMenu
delete router[i].sysPermissions[j].parentId
delete router[i].sysPermissions[j].remark
delete router[i].sysPermissions[j].sort
delete router[i].sysPermissions[j].status
delete router[i].sysPermissions[j].sysPermissions
}
}
for (let i = 0; i < router.length; i++) { //更改id为path
router[i].path = '/' + router[i].id
delete router[i].id;
for (let j = 0; j < router[i].sysPermissions.length; j++) {
router[i].sysPermissions[j].path = router[i].sysPermissions[j].id;
delete router[i].sysPermissions[j].id
}
}
for (let i = 0; i < router.length; i++) { //更改sysPermissions为children
router[i].children = router[i].sysPermissions;
delete router[i].sysPermissions;
}
console.log(router)for (let i = 0; i < router.length; i++) { //更改url为component
router[i].component = router[i].url;
router[i].component = 'Layout'
router[i].meta = {};
delete router[i].url;
delete router[i].isMenu;
delete router[i].parentId;
delete router[i].remark;
delete router[i].sort;
delete router[i].status;
for (let j = 0; j < router[i].sysPermissions.length; j++) {
router[i].sysPermissions[j].component = router[i].sysPermissions[j].url.slice(5) + '/index';
router[i].sysPermissions[j].meta = {};
delete router[i].sysPermissions[j].url
delete router[i].sysPermissions[j].isMenu
delete router[i].sysPermissions[j].parentId
delete router[i].sysPermissions[j].remark
delete router[i].sysPermissions[j].sort
delete router[i].sysPermissions[j].status
delete router[i].sysPermissions[j].sysPermissions
}
}
for (let i = 0; i < router.length; i++) { //更改id为path
router[i].path = '/' + router[i].id
delete router[i].id;
for (let j = 0; j < router[i].sysPermissions.length; j++) {
router[i].sysPermissions[j].path = router[i].sysPermissions[j].id;
delete router[i].sysPermissions[j].id
}
}
for (let i = 0; i < router.length; i++) { //更改sysPermissions为children
router[i].children = router[i].sysPermissions;
delete router[i].sysPermissions;
}
console.log(router)
想要把name和icon字段放在meta对象里,并把name改为title
描述可以清楚点,需求是什么样子不明所以。