切换案例js两个参数

时间:2016-12-15 10:17:55

标签: javascript parameters switch-statement case

请告诉我如何处理两个参数并将此代码简化为正常状态。谢谢!这个逻辑对我来说是非常必要的,我希望你的放纵。

var treshhold_two = 0;

function Test(attack, ratio) {
  switch (attack) {
    case 0,01:
      switch (ratio) {
        case 2:
          treshhold = 2798,6;
          break;
        case 4:
          treshhold = 3678,16;
          break;
        case 6:
          treshhold = 5757,12;
          break;
      }
      break;
    case >0,01:
      switch (attack, ratio) {
        case 0,03,2:
          treshhold = -5,75712;
          break;
        case 0,03,4:
          treshhold = -5,75712 * 1,1;
          break; // -45%
        case 0,03,6:
          treshhold = -5,75712 * 0,96;
          break; // -52%, and etc.
        ...
      }
      break;
  }
}

3 个答案:

答案 0 :(得分:2)

尝试:

var treshhold_two = 0;

function Test(attack, ratio) {
  if(attack == 0,01) {
     switch (ratio) {
        case 2:
          treshhold = 2798,6;
          break;
        case 4:
          treshhold = 3678,16;
          break;
        case 6:
          treshhold = 5757,12;
          break;
       }
   }
   else {           
      switch (attack) {
        case 0,03:
              if(ratio==2) treshhold = -5,75712;                 
              if(ratio==4) treshhold = -5,75712 * 1,1;                             
              if(ratio==6) treshhold = -5,75712 * 0,96;                  
              break;
        ...
      }          
  }
}

答案 1 :(得分:0)

var treshhold_two = 0;

function Test(attack, ratio) {
  if (attack == 0.01) {
      switch (ratio) {
        case 2:
          treshhold = 2798.6;
          break;
        case 4:
          treshhold = 3678.16;
          break;
        case 6:
          treshhold = 5757.12;
          break;
      }
    }
    else if (attack > 0.01) {
      switch (attack, ratio) {
        case 0,03,2: // what does it mean ?
          treshhold = -5.75712;
          break;
        case 0,03,4: // what does it mean ?
          treshhold = -5.75712 * 1.1;
          break; // -45%
        case 0,03,6: // what does it mean ?
          treshhold = -5.75712 * 0.96;
          break; // -52%, and etc.
        ...
      }
  }
}

答案 2 :(得分:0)

    //option:1

    var treshhold = 0;

    function Test(attack, ratio) {
      switch (attack) {
        case 0,01:
                if(ratio==2) treshhold = 2798,6;               
          if(ratio==4) treshhold = 3678,16;                          
          if(ratio==6) treshhold = 5757,12;
            break;
        case 0,03:
          if(ratio==2) treshhold = -5,75712;             
          if(ratio==4) treshhold = -5,75712 * 1,1;                         
          if(ratio==6) treshhold = -5,75712 * 0,96;
          break;
          // ...
          }
      }
    }


    //option:2

    var treshhold = 0;

    function Test(attack, ratio) {
      switch (attack) {
        case 0,01:
            switch (ratio) {
            case 2: treshhold = 2798,6; break;
            case 4: treshhold = 3678,16; break;
            case 6: treshhold = 5757,12; break;
          }
        case 0,03:
            switch (ratio) {
            case 2: treshhold = -5,75712;  break;
            case 4: treshhold = -5,75712 * 1,1; break;
            case 6: treshhold = -5,75712 * 0,96;; break;
          }
         // ...
          }
     }

//选项:3

var treshhold = 1223456;

function Test(ratio, attack) {
  switch (ratio) {
    case 2:
        switch (attack) {
        case 0,01: ... break;
        case 0,03: ... break;
        case 0,1: ... break;
      }
      break;
    case 4:
        switch (attack) {
        case 0,01: ... break;
        case 0,03: ... break;
        case 0,1: ... break;
      }
      break;
    case 6:
        switch (attack) {
        case 0,01: ... break;
        case 0,03: ... break;
        case 0,1: ... break;
      }
      break;
 }


// option?
相关问题