Итак, я строю одну игру, которая поливает поле в соответствии с выбранным цветом, и у меня есть 4 различных условия:
let condition1 = drenchX + 1 === mixedX && drenchY === mixedY && this.mixedFields[i].style.backgroundColor === this.service.clickedColor;
let condition2 = drenchX === mixedX && drenchY + 1 === mixedY && this.mixedFields[i].style.backgroundColor === this.service.clickedColor;
let condition3 = drenchX - 1 === mixedX && drenchY === mixedY && this.mixedFields[i].style.backgroundColor === this.service.clickedColor;
let condition4 = drenchX === mixedX && drenchY - 1 === mixedY && this.mixedFields[i].style.backgroundColor === this.service.clickedColor;
Мне нужно получить все возможные комбинации этих условий, все 4 из них могут быть истинными, либо 3 или 2, либо только одна.
Это отлично работает, но я думаю, что это слишком долго.
Мое утверждение if выглядит так:
if((condition1 && condition2 && condition3 && condition4) || (condition1 && condition2 && condition3) || (condition1 && condition2 && condition4) || (condition1 && condition3 && condition4) || (condition2 && condition3 && condition4) || (condition1 && condition2) || (condition1 && condition3) || (condition1 && condition4) || (condition2 && condition3) || (condition2 && condition4) || (condition3 && condition4) || condition1 || condition2 || condition3 || condition4) {
// some action
}
Все работает отлично, но я ищу более короткое решение, и я все еще новичок в этом. Так что, если кто-нибудь знает лучший способ сделать это, это было бы замечательно, мое заявление слишком длинное и выглядит не очень хорошо.
Кстати, проект в Angular. Может быть, создать какую-то функцию для этого?