Добавление логических значений в javascript приводит значения к числам ... false => 0, true => 1
, поэтому
if ((a + b + c + d + e) > 1) {
// at least 2 are true
}
, если, однако, ae не гарантированно будет логическим, но может быть true / falsey, сначала приведите значение к логическому (!!v
становится истинным или ложным) и сложите их вместе
if ((+!!a + !!b + !!c + !!d + !!e) > 1) {
// at least 2 are true
}
Далее к комментарию
какскажите, установлены ли 2 или более бит (без учета какого)
if (x & (x - 1)) {
// at least two bits set in x
}
или если вы хотите более общий тест для набора n
бит
const testIfNBitsSet = (v, n) => v.toString(2).split('1').length > n;