@webandrews
Учу JavaScript

Как работать с состояниями в приложений JavaScript?

Здравствуйте, помогите пожалуйста разобраться новичку, как правильно работать с состояниями приложения, я пишу приложения в нем есть 5 чекбоксов, если чекбокс выбран объект возвращает on иначе null.

В зависимости от того какая комбинация чекбоксов выбрана идет загрузка файла например:

if( чек1 === null && чек2 === null && чек3 === null && cчек4 === null &&  чек5 === null ) {
    все чекбоксы null загружаем дифолтный файл
}


Проблема появляется кода нужно отметить например первые 3 чекбокса или 3 и 4 как не хардкодить логику и не копипастить код?

Буду рад любой помощи ссылкам.
  • Вопрос задан
  • 265 просмотров
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Один из вариантов хранить их как битовую карту – одно целое число, где определённый бит что-то значит. В вашем случае первые 5 битов, например, отражают состояние чекбоксов:
0000 0010
   │ │││┕╼ бит 0, чекбокс 0
   │ ││└── бит 1, чекбокс 1
   │ │└─── бит 2, чекбокс 2
   │ └──── бит 3, чекбокс 3
   └────── бит 4, чекбокс 4


Так вы сможете чуть быстрее писать условия, напр.
switch( bitmap) {
  case 0: // все выключены
    // загрузить что-то там
    break;
  case 1<<3: // включен только 3-й бит
    // загрузить что-то для 3-го чекбокса
    break;
  case 28: // вкл. 3, 4 и 5-й
  // ...
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы