当发生三个单元格匹配时,它不会记录任何内容,在我看来,它也不会记录任何内容,因为当我单击单元格时,一次单击没有三个单元格匹配,对吗

const cells = document.querySelectorAll(".cell > img");

const win_combinations = [
  [0, 1, 2],
  [3, 4, 5],
  [6, 7, 8],
  [0, 3, 6],
  [1, 4, 7],
  [2, 5, 8],
  [0, 4, 8],
];

cells.forEach((cell, index) => {
  cell.addEventListener("click", function () {
    this.src = "Small_uppercase_letter_X.svg.png";

    for (const [a, b, c] of win_combinations) {
      if (
        cells[a].src == "Small_uppercase_letter_X.svg.png" &&
        cells[b].src == "Small_uppercase_letter_X.svg.png" &&
        cells[c].src == "Small_uppercase_letter_X.svg.png"
      ) {
        console.log(cells[a], cells[b], cells[c]);
      }
    }
  });
});

推荐答案

试试这个

const cells = document.querySelectorAll(".cell > img");
    
    const win_combinations = [
      [0, 1, 2],
      [3, 4, 5],
      [6, 7, 8],
      [0, 3, 6],
      [1, 4, 7],
      [2, 5, 8],
      [0, 4, 8],
    ];
    
    cells.forEach((cell, index) => {
      cell.addEventListener("click", function () {
        this.src = "Small_uppercase_letter_X.svg.png";
    
        for (const [a, b, c] of win_combinations) {
          if (
            cells[a].src.includes("Small_uppercase_letter_X.svg.png") &&
            cells[b].src.includes("Small_uppercase_letter_X.svg.png") &&
            cells[c].src.includes("Small_uppercase_letter_X.svg.png")
          ) {
            console.log("Winning combination:", cells[a], cells[b], cells[c]);
          }
        }
      });
    });

Javascript相关问答推荐

在分区内迭代分区

从mat—country—select获取整个Country数组

如何解决CORS政策的问题

WebRTC关闭navigator. getUserMedia正确

切换时排序对象数组,切换不起作用

当点击注册页面上的注册按钮时,邮箱重复

构造HTML表单以使用表单数据创建对象数组

JavaScript不重定向配置的PATH

邮箱密码重置链接不适用于已部署的React应用程序

钛中的onClick事件需要在两次点击之间等待几秒钟

触发异步函数后不能显示数据

我想使用GAS和HTML将从Electron 表格中获得的信息插入到文本字段的初始值中

在查看网页时,如何使HTML中的按钮工作方式类似于鼠标上的滚轮或箭头键?

通过跳过某些元素的对象进行映射

如何修复错误&语法错误:不能在纯react 项目中JEST引发的模块&之外使用导入语句?

$GTE的mongoose 问题

我想为我的Reaction项目在画布上加载图像/视频,图像正在工作,但视频没有

暂停后只有一次旋转JS

JS/css:将数字输入的S函数和可调整大小的元素S函数绑定在一起

如何使用Angular JS双击按钮