【问题标题】:Switch statement inside of if statement not executingif 语句中的 switch 语句未执行
【发布时间】:2020-08-06 17:16:55
【问题描述】:

当 initializePlayers 为 4 时,第一个 switch 语句运行良好,但是当满足第二个 if 语句条件时,它将 console.log("was

let humanPlayers = [];

//initialize the participants
initializePlayers = prompt("How many players? (1-4)");

console.log("value of initalPlayer" , initializePlayers);
if (initializePlayers == 4) { 
for (i = 0; i <= initializePlayers; i++) {
    console.log("the number was four!");    
    switch (i) {
            case 0:
        humanPlayers.push(Player1);
        console.log(0);
                break;
            case 1:
                humanPlayers.push(Player2);     
        console.log(1);
                break;
                case 2:
                    humanPlayers.push(Player3); 
        console.log(2);
                    break;
                case 3:
                        humanPlayers.push(Player4);
        console.log(3, humanPlayers);     
                        break; 
                }
    }
  }
  
  if (initializePlayers < 4) {
  console.log("was < 4");
//initializing human objects first
switch (initializePlayers) {
    case 1:               
humanPlayers.push(Player1);
console.log(1, "1 human");        
break;
    case 2:
        humanPlayers.push(Player2);
console.log(2, "2 humans");  
        break;
        case 3:
            humanPlayers.push(Player3); 
    console.log(3, "3 humans");
            break;
    }
  }

【问题讨论】:

    标签: javascript if-statement switch-statement


    【解决方案1】:

    prompt 返回一个字符串,因此您应该在每个 switch 中使用字符串而不是数字作为案例。

    if (initializePlayers < 4) {
      console.log("was < 4");
      //initializing human objects first
      switch (initializePlayers) {
        case '1':               
          humanPlayers.push(Player1);
          console.log(1, "1 human");        
          break;
        case '2':
          humanPlayers.push(Player2);
          console.log(2, "2 humans");  
          break;
        case '3':
          humanPlayers.push(Player3); 
          console.log(3, "3 humans");
          break;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多