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

JS石头剪刀布蜥蜴史波克游戏:如何让函数识别多个beats值?

解决方案

1. 修正SELECTIONS常量

JavaScript对象不允许重复属性名,重复的beats键会被最后一个值覆盖,所以需要把每个对象的beats改为数组,存储所有克制的选项:

const SELECTIONS = [
  {
    name: 'fire',
    emoji: '🔥',
    beats: ['air', 'lizard']
  },
  {
    name: 'water',
    emoji: '🌊',
    beats: ['spock', 'fire']
  },
  {
    name: 'air',
    emoji: '💨',
    beats: ['water', 'lizard']
  },
  {
    name: 'lizard',
    emoji: '🦎',
    beats: ['air', 'spock']
  },
  {
    name: 'spock',
    emoji: '🧛‍♂️',
    beats: ['fire', 'water']
  },
];

2. 修改isWinner函数

利用数组的includes方法,检查对手的选择名称是否在当前选择的克制列表中,这样就能同时判断多个克制关系:

function isWinner(selection, opponentSelection) {
  return selection.beats.includes(opponentSelection.name);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:15:42