Показать сообщение отдельно
  #13 (permalink)  
Старый 09.04.2020, 13:35
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

jabbascript,
const roleRight = [
  {
    Id: 1,
    RoleId: 1,
    RightId: 1
  },
  {
    Id: 2,
    RoleId: 1,
    RightId: 2
  },
  {
    Id: 3,
    RoleId: 2,
    RightId: 2
  },
  {
    Id: 4,
    RoleId: 3,
    RightId: 1
  }
];

const roles = [
  {
    Id: 1,
    Name: "Администратор"
  },
  {
    Id: 2,
    Name: "Модератор"
  },
  {
    Id: 3,
    Name: "Пользователь"
  }
];

const rights = [
  {
    Id: 1,
    Name: "Контакты - Просмотр"
  },
  {
    Id: 2,
    Name: "Контакты - Редактирование"
  }
];

console.log(
  roles.map(role => {
    return {
      ...role,
      right: roleRight
        .filter(item => item.RoleId === role.Id)
        .map(item => rights.find(right => right.Id === item.RightId))
    };
  })
);
Ответить с цитированием