JavaScript Multiply条件语句

JavaScript Multiply condition statement

本文关键字:语句 条件 Multiply JavaScript      更新时间:2023-09-26

我有一个js函数,它从乘法参数中选择报表编号(2个复选框,3个下拉字段),我得到了一个非常大的条件语句,比如这个

    switch(ReportNumDrop)
    {
       case 0: NumberReport = IsDropDownValue == 0 ? 1034: 1033;
       break;
       case 1: if(CheckBoxChecked)
               {
                   NumberReport = IsDropDownValue == 0 ? 1022: 1021;
               }
               else
               {
                 NumberReport = IsDropDownValue == 0 ? 1011: 1012;
               }
               break;
          ....
          //SimilarStatement with another rep number
          ....
          case 6: if(DropDownCondition2)
                  {
                      NumberReport = SecondDropDownValue == '*' ? 1045: 1044;
                  }
                  else
                  {
                    NumberReport = ThirdDropDownValue == 0 ? 1055: 1054;
                  }
           break;
           default: break;
          }

所以,这就像有限状态图,但重构它的最简单方法是什么,这样它就可以在没有血的情况下读取。

(我认为这类似于GOF的命令模式)

此外,代码不是我的

p.S C#可以通过异步调用来形成这个数字

可能是这样的吗?

var fs = [
  [function () { ReportNumDrop == 0 && IsDropDownValue == 0 }, 1034],
  [function () { ReportNumDrop == 0 && IsDropDownValue != 0 }, 1033],
  ...
];

然后对该数组进行迭代以找到具有返回CCD_ 1的函数的元素。