Есть ли способ уменьшить случаи if if else? - PullRequest
0 голосов
/ 23 мая 2018
let invert = moreIsBetter.includes(metric);

if (!invert) {
  if (count > parseInt(Min) && Min) {
    className = 'Class A';
  }

  if (count > parseInt(Max) && Max) {
    className = 'Class B';
  }
} else {
  if (count < parseInt(Min) && Min) {
    className = 'Class A';
  }

  if (count < parseInt(Max) && Max) {
    className = 'Class B';
  }
}

return className;

Есть ли способ изменить этот код дальше.Я попытался добавить проверку условия «инвертировать» внутри самой проверки if.Но все же есть ли лучший способ, чем этот?

  if ((!invert && count > parseInt(Min)) || (invert && count < parseInt(Min)) && Min) {
    className = 'Class A';
  }


  if ((!invert && count > parseInt(Max)) || (invert && count < parseInt(Max)) && Max) {
    className = 'Class B';
  }

1 Ответ

0 голосов
/ 23 мая 2018

Вы можете опустить parseInt, потому что вы используете целые числа, или чек большего или меньшего размера уже преобразуется в число.

let invert = moreIsBetter.includes(metric);

if (!invert && count > Min || invert && count < Min) {
    className = 'Class A';
}

if (!invert && count > Max || invert && count < Max) {
    className = 'Class B';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...