Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 开关内部开关替代品_Javascript_Switch Statement - Fatal编程技术网

Javascript 开关内部开关替代品

Javascript 开关内部开关替代品,javascript,switch-statement,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: ret

我有一个伪代码:

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';
}
开关(真){
情况(条件1<0):
返回“c1<0”;
情况(条件1==0):
开关(真){
情况(条件2<0):
返回“c2<0”
情况(条件2==0):
返回'c2==0'
违约:
返回'c2>0'
}
违约:
返回'c1>0';
}

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

如果/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';
if(cond_1<0)返回“c1<0”;
if(cond_1==0){
如果(条件2<0)返回“c2<0”;
如果(cond_2==0)返回'c2==0';
如果(条件2>0)返回“c2>0”;
}
返回'c1>0';

您应该在此处使用if/else条件。这并不是
switch
真正要做的。