有没有办法减少if else案件?

时间:2018-05-23 12:44:35

标签: javascript if-statement

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 check中添加'invert'条件检查。但仍有比这更好的方法吗?

  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 :(得分:0)

您可以省略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';
}
相关问题