3D массив из двух массивов объектов - PullRequest
0 голосов
/ 04 февраля 2019
let permissions = [
    {
        id: 1,
        name: "Inventory",
        permission: "inventory"
    },
    {
        id: 2,
        name: "Inventory read",
        permission: "inventory:read"
    },
    {
        id: 3,
        name: "Purchase Orders",
        permission: "purchase-orders"
    },
    {
        id: 4,
        name: "Purchase Orders create",
        permission: "purchase-orders:create"
    }
];


let roles = [
    {
        id: 1,
        name: "Admin"
    },
    {
        id: 2,
        name: "Manager"
    }
];

Мне нужно иметь массив разрешений, сгруппированных по первой части «разрешения», у которого есть свойства имени разрешения и роли, у каждого из которых есть сгруппированные разрешения.

Первоначально я группировал разрешения понажимая на группы [license.split (':')], затем циклически просматривая разрешения и внутри цикла, циклически изменяя роли в моем шаблоне.

Теперь мне нужно сначала собрать данные.

Мне нужен следующий вывод:

let list = [
{
    permission: 'Inventory',
    Admin: [
        {
            id: 1,
            name: "Inventory",
            permission: "inventory"
        },
        {
            id: 2,
            name: "Inventory read",
            permission: "inventory:read"
        },
    ],
    Manager: [
        {
            id: 1,
            name: "Inventory",
            permission: "inventory"
        },
        {
            id: 2,
            name: "Inventory read",
            permission: "inventory:read"
        },
    ]
},
{
    permission: 'Purchase Orders',
    Admin: [
        {
            id: 3,
            name: "Purchase Orders",
            permission: "purchase-orders"
        },
        {
            id: 4,
            name: "Purchase Orders create",
            permission: "purchase-orders:create"
        }
    ],
    Manager: [
        {
            id: 3,
            name: "Purchase Orders",
            permission: "purchase-orders"
        },
        {
            id: 4,
            name: "Purchase Orders create",
            permission: "purchase-orders:create"
        }
    ]
}

];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...