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

如何让JavaScript中的字符串比较功能正常工作?

问题分析与解决

你的代码里的if语句本身是能正常工作的,但它只在player和player2的值完全相等时才会输出"draw"。因为player2是随机从数组里取的值,大部分时候和固定的player = 'paper'不相等,这时候没有对应的输出逻辑,所以你会误以为if语句没起作用。

多运行几次代码,当player2随机到'paper'时,控制台就会打印"draw",这能证明if逻辑是有效的。

如果想要完整的石头剪刀布判断逻辑,补充所有分支即可,这样不管随机结果如何,控制台都会有明确输出:

let player = 'paper';
let player2 = '';
let myarr = ["rock", "paper", "scissors"];
var index = Math.floor(Math.random() * 3);
player2 = myarr[index];
console.log(`玩家: ${player}, 对手: ${player2}`);

function compare() {
  if (player === player2) {
    console.log("平局");
  } else if (
    (player === 'rock' && player2 === 'scissors') ||
    (player === 'paper' && player2 === 'rock') ||
    (player === 'scissors' && player2 === 'paper')
  ) {
    console.log("你赢了");
  } else {
    console.log("你输了");
  }
}
compare();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 21:57:46