比较2个变量和4个值的最佳方法

时间:2015-11-20 07:33:52

标签: javascript

我有2个变量......它们都可以获得状态(0,1,2,“xxx”) 比较这些变量的最佳方法是什么?或者是很多if,如果是最好的方式呢?

if((Status1 && Status2) == 2){
    connectorImage = "connector.png";
}
else if((Status1 && Status2) == 1){
    connectorImage = "connector_grey.png";
}
 else if(Status1 == 1 && Status2 == 2){
    connectorImage = "connector_greytogreen.png";
}...

3 个答案:

答案 0 :(得分:1)

您可以尝试类似

的内容
if(Status1 == Status2){
    //Do something    
}else if(Status1 < Status2){
    //Do something else
}else if(Status2 > Status1){
    // Do something else
}

这应该有效,除非所有16种组合都需要一个独特的动作。那么你就会遇到很多if's and else's

答案 1 :(得分:1)

这取决于您需要比较的具体内容。 例如:如果您需要将正确的图像提供给状态,我将使用以下内容:

function getImageByStatus(int status) {
  switch (status) {
    case 1:
      return "connector.png";
    case 2:
      return "connector_grey.png";
  }
  return "";
}

如果你有更复杂的比较,你唯一的方法可能是一些if语句

答案 2 :(得分:0)

  1. 您可以从状态构建连接器图像:
  2. var connectorImage = status1 +“_”+ status2 +“。png”;

    并将图像重命名为“0_0.png”,“1_0.png”等。

    1. 或者将您的状态重命名为更有意义的内容
    2. 或者在组合的雕像和连接器名称之间创建映射:

      var statusesToConnectorImages = {     “0_0”:“connector.png”,     “0_1”:“connector_grey.png” } var connectorImage = statusesToConnectorImages [status1 +“_”+ status2];