内切换开关替代

时间:2018-10-24 12:55:54

标签: javascript switch-statement

我有这个伪代码:

switch (true) {
  case (cond_1 < 0):
    return 'c1 < 0';
  case (cond_1 === 0):
    switch (true) {
      case (cond_2 < 0):
        return 'c2 < 0'
      case (cond_2 === 0):
        return 'c2 === 0'
      default:
        return 'c2 > 0'
    }
  default:
    return 'c1 > 0';
}

是否有更好的方式编写此代码,而无需在其他switch语句中使用switch?

1 个答案:

答案 0 :(得分:2)

这些if/else条件更加紧凑,流程更易于阅读:

if (cond_1 < 0) return 'c1 < 0';
if (cond_1 === 0) {
  if (cond_2 < 0) return 'c2 < 0';
  if (cond_2 === 0) return 'c2 === 0';
  if (cond_2 > 0) return 'c2 > 0';
}
return 'c1 > 0';