如何使用 onclick 事件不从两个变量中选择相同的值?

问题描述 投票:0回答:1

我正在尝试使用 onclick 事件创建一个非常简单的宾果游戏。

目前我正在使用两个变量,一个用于字母,一个用于数字,然后将它们整理成一个新变量并显示在页面上。

是否可以将此值添加到另一个变量,然后 if..else.. 函数检查是否已调用该组合,如果已调用,它将在 onclick 事件中选择不同的组合?

<button onclick="myForEach();"> Click me </button>

下面是我目前使用的js代码:

function myForEach(){

/*letter variable and get a letter*/
    var letters = ["A", "B", "D", "E", "G", "H", "I", "J", "K", "N", "O", "S", "T", "U", "V", "W", "X", "Z"];
    getLetter = letters[Math.floor(Math.random() * letters.length)];
    /*number variable and get a number*/
    numbers = ["1", "2", "3", "4", "5", "6"];
    getNumber = numbers[Math.floor(Math.random() * numbers.length)];
    /*call bingo*/
    bingo = getLetter + getNumber

/*display value*/
    document.getElementById("demo").innerHTML = bingo;
};

提前致谢!

我还没有尝试过任何东西,因为我不确定这是否可行,而且我对 JS 不是很好!

javascript variables onclick
1个回答
0
投票

如果我很好地理解您的问题,您可以将宾果值存储在一个数组中,对于您测试的每个新宾果值是否在数组中。

let arBingo = [];

function myForEach() {
  /*letter variable and get a letter*/
  var letters = ["A", "B", "D", "E", "G", "H", "I", "J", "K", "N", "O", "S", "T", "U", "V", "W", "X", "Z"];
  getLetter = letters[Math.floor(Math.random() * letters.length)];
  /*number variable and get a number*/
  numbers = ["1", "2", "3", "4", "5", "6"];
  getNumber = numbers[Math.floor(Math.random() * numbers.length)];
  /*call bingo*/
  bingo = getLetter + getNumber

  /*display value*/
  document.getElementById("demo").innerHTML = bingo;
  if (!arBingo.includes(bingo)) {
    arBingo.push(bingo);
  }
  console.log(arBingo);
}
<div id="demo"></div>
<button onclick="myForEach();"> Click me </button>

© www.soinside.com 2019 - 2024. All rights reserved.