【问题标题】:Switch Case Statement With Greater Than Operator?使用大于运算符切换案例语句?
【发布时间】:2019-11-20 01:45:14
【问题描述】:

我的代码中的以下 IF 语句不起作用。在这种情况下,如何以 Switch Case 格式或 IF 语句添加“大于”运算符?我需要它说 IF Machine 为 1 且 numOfBends > 7 然后 setupMins = 60。IF Machine 为 2 且 numOfBends > 7 然后 setupMins = 60。IF Machine 为 3 且 numOfBends > 7 然后 setupMins = 60。

/**
 * bendingSetupHours
 * @customfunction bendingSetupHours
 * @param {number} numOfBends 
 * @param {number} bendLengthInches 
 * @returns {number} bendingSetupHours
 */
function bendingSetupHours(numOfBends, bendLengthInches) {
  var machine;
  var setupMins;
  switch(bendLengthInches) {
    case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16:
    case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 27: case 29: case 30: case 31:
    case 32: case 33: case 34: case 45: case 36:
      machine = 1;
      break;
    case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51:
    case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66:
    case 67: case 68: case 69: case 70: case 71:
      machine = 2;
      break;
    case "":
      machine = 0;
      break;
  default:
      machine = 3;
  } 
  switch("" + machine + numOfBends) {
      case "" + 1 + 0: case "" + 1 + 1: case "" + 1 + 2: case "" + 1 + 3: case "" + 2 + 0: case "" + 2 + 1: case "" + 2 + 2: case "" + 2 + 3:
        setupMins = 15;
        break;
      case "" + 1 + 5: case "" + 1 + 6: case "" + 1 + 7: case "" + 3 + 0: case "" + 3 + 1: case "" + 3 + 2: case "" + 3 + 3:
        setupMins = 30;
        break;
      if (numOfBends >7 && machine ==1) {
        setupMins = 60;
        break;
      }
      case "" + 2 + 5: case "" + 2 + 6: case "" + 2 + 7:
        setupMins = 45;
        break;
      if (numOfBends >7 && machine ==2) {
        setupMins = 90;
        break;
      }
      case "" + 3 + 4: case "" + 3 + 5: case "" + 3 + 6: case "" + 3 + 7:
        setupMins = 60;
        break;
        if (numOfBends >7 && machine ==3) {
          setupMins = 120;
          break;
        }
    default:
      setupMins = 0;
  }
     return (setupMins / 60); 
}

【问题讨论】:

  • break它才可以运行if语句
  • 是的,你绝对不应该在这里使用switch 声明。
  • 您不能在switch case 语句中添加条件。使用 IF ELSE 链会更好

标签: javascript if-statement switch-statement operators


【解决方案1】:

您需要https://www.w3schools.com/js/js_if_else.asp 而不是更正。

【讨论】:

    【解决方案2】:
     /**
       * bendingSetupHours
       * @customfunction bendingSetupHours
       * @param {number} numOfBends 
       * @param {number} bendLengthInches 
       * @returns {number} bendingSetupHours
       */
      function bendingSetupHours(numOfBends, bendLengthInches) {
        var machine;
        var setupMins;
        switch(bendLengthInches) {
          case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12: case 13: case 14: case 15: case 16:
          case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 27: case 29: case 30: case 31:
          case 32: case 33: case 34: case 45: case 36:
            machine = 1;
            break;
          case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51:
          case 52: case 53: case 54: case 55: case 56: case 57: case 58: case 59: case 60: case 61: case 62: case 63: case 64: case 65: case 66:
          case 67: case 68: case 69: case 70: case 71:
            machine = 2;
            break;
          case "":
            machine = 0;
            break;
        default:
            machine = 3;
        } 
        if (machine == 1 && numOfBends == 0 || numOfBends == 1 || numOfBends == 2 || numOfBends == 3) {
            setupMins = 15;
        } else if (machine == 1 && numOfBends == 5 || numOfBends == 6 || numOfBends == 7) {
            setupMins = 30;
        } else if (machine == 1 && numOfBends > 7) {
            setupMins = 60;
        } else if (machine == 2 && numOfBends == 0 || numOfBends == 1 || numOfBends == 2 || numOfBends == 3) {
            setupMins = 15;
        } else if (machine == 2 && numOfBends == 4 || numOfBends == 5 || numOfBends == 6 || numOfBends == 7) {
            setupMins = 45;
        } else if (machine == 2 && numOfBends > 7) {
            setupMins = 90;
        } else if (machine == 3 && numOfBends == 0 || numOfBends == 1 || numOfBends == 2 || numOfBends == 3) {
            setupMins = 30;
        } else if (machine == 3 && numOfBends == 4 || numOfBends == 5 || numOfBends == 6 || numOfBends == 7) {
            setupMins = 60;
        } else if (machine == 3 && numOfBends > 7) {
            setupMins = 120;
        } else {
            setupMins = 0;
        }
            return (setupMins / 60);
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多