Показать сообщение отдельно
  #35 (permalink)  
Старый 05.09.2022, 12:07
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

const access = (value, action) =>
  Boolean(
    value &
      {
        read: 1,
        create: 2,
        edit: 4,
        delete: 8,
      }[action]
  );

for (let i = 0; i < 16; i++) {
  let res = [];
  if (i & 1) res.push('read');
  if (i & 2) res.push('create');
  if (i & 4) res.push('edit');
  if (i & 8) res.push('delete');
  console.log(i, res, (i).toString(2).padStart(4, '0'));
}
console.log(access(3, 'edit'));
console.log(access(15, 'delete'));

Редко, но используем, в базах данных с типами set, enum без них никак

Последний раз редактировалось Vlasenko Fedor, 05.09.2022 в 17:59. Причина: Добавил для наглядности в двоичной системе
Ответить с цитированием