You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

控制台石头剪刀布游戏首个if条件无输出问题求助

问题解决:石头剪刀布游戏if条件无输出的原因及修复
  • 核心问题:你的computerSelection变量存储的是数组的索引数字(0、1、2),而不是对应的"rock"/"paper"/"scissors"字符串。你在控制台打印的是getComputerChoice[computerSelection],但变量本身还是数字,和playerSelection的字符串比较自然永远不相等,所以if条件不会触发。

  • 修复步骤:

    1. 把computerSelection改成直接存储随机选中的选项字符串:
      const computerSelection = getComputerChoice[Math.floor(Math.random() * getComputerChoice.length)];
      
      这样变量里存的就是和playerSelection同类型的字符串了。
    2. 额外优化:用户通过prompt输入时可能会有大小写差异(比如输入"Rock"或"ROCK"),可以把输入转成小写避免匹配失败:
      const playerSelection = prompt("Rock, Paper, or Scissors?").toLowerCase();
      
  • 修正后的完整代码:

    // 定义可选选项数组
    const getComputerChoice = ["rock", "paper", "scissors"]
    
    // 随机选择电脑的选项,直接存储对应的字符串
    const computerSelection = getComputerChoice[Math.floor(Math.random() * getComputerChoice.length)];
    console.log(computerSelection); // 现在打印的就是电脑选的字符串
    
    // 获取玩家输入并转成小写
    const playerSelection = prompt("Rock, Paper, or Scissors?").toLowerCase();
    
    // 判断平局情况
    if (playerSelection === "rock" && computerSelection === "rock") {
        console.log("It's a tie!")
    }
    

内容的提问来源于stack exchange,提问作者lambchopthekid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:24:47