Избегайте множества условий внутри оператора If - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть оператор if, подобный этому

if(areEqual(a,ax) && areEqual(b,bx) && areEqual(c,cx) && areEqual(d,dx) && areEqual(e,ex) && areEqual(f,fx) && areEqual(g,gx) && areEqual(h,hx) && areEqual(i,ix) && areEqual(j,jx) && areEqual(k,kx)

Это если в операторе много условий, и он не читается.Как я могу избежать этой ситуации?Существует ли какая-либо схема конвейера для условий if?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2019

В javascript, если вы добавите true и true вместе, вы получите 2. Используя эту информацию, вы можете поместить все условия в массив и получить его сумму.

var conditions = [condition1, condition2, ... ]; -- all conditions go here

var sum = 0; -- works out the sum
for (var i = 0; i < conditions.length; i++) {
    sum += conditions[i];
}

if (sum === conditions.length) {
    console.log("success")
}
0 голосов
/ 28 сентября 2019

Если вы используете Python, вы можете сохранить все чеки в списке (скажем, list1) и чеки

if sum(list1)==len(list1):
  do something
...