gpt4 book ai didi

javascript - 无法将数据插入数组

转载 作者:行者123 更新时间:2023-12-03 12:38:06 25 4
gpt4 key购买 nike

我正在尝试了解井字棋游戏的逻辑,我几乎已经制定了逻辑,但在将数据推送到数组时我陷入了困境。这是我创建的 fiddle 。

http://jsfiddle.net/afzaal_ahmad_zeeshan/6bgjp/1/

让我向您解释整个事情!

我正在尝试使用表的 9 td 作为可能获胜的 8 行。为此,我根据某些 td 在表中的位置为它们指定了类名称。

HTML 很简单

<div class="vicvacvoe">
<table>
<tr>
<td class="line1 line4 line7"></td>
<td class="line1 line5"></td>
<td class="line1 line6 line8"></td>
</tr>
<tr>
<td class="line2 line4"></td>
<td class="line2 line5 line7 line8"></td>
<td class="line2 line6"></td>
</tr>
<tr>
<td class="line3 line4 line8"></td>
<td class="line3 line5"></td>
<td class="line3 line6 line7"></td>
</tr>
</table>
</div>

只是一个包含 9 个 td 的简单表格,CSS 与此无关,所以我想保留它。

jQuery 这也很简单。但我无法将数据推送到数组。

var vic = $('.vicvacvoe table tr td');
var player = 1;
var tick = '✓';
var cross = 'X';
var user1 = [];
var user2 = [];
vic.click(function () {
var className = $(this).attr('class');
if (className != 'dead') {
// A new board place to write on...
// Now do the processes here...
if (player == 1) {
// First player!
var cArray = className.split(' ');
for (i = 0; i < cArray.length; i++) {
for (j = 0; j < user1.length; j++) {
// check for each class
if (user1[j] != cArray[i]) {
user1.push(cArray[i]);
}
}
}
} else {
/* code for second player, the same */
}
$(this).text('Works!');
$(this).attr('class', 'dead');
}
});

这是整个 jQuery 脚本。实际上,当我运行代码时,它确实转到堆栈的末尾(到类属性更改脚本),并且它锁定 td 以进行进一步处理,并且它也在 td 中写入 Works! 。但我无法获取该用户的数组内的类名。我想保存每个用户的行号,然后检查他是否有 3 个位置已满。我需要数组部分的帮助。

谢谢!

最佳答案

我更喜欢简单性,因此您可以使用 indexOf 来检查该类是否已经在用户数组中,如下所示:

if (player == 1) {
// First player!
var cArray = className.split(' ');
for (i = 0; i < cArray.length; i++) {
if(user1.indexOf(cArray[i]) == -1) {
user1.push(cArray[i]);
} else {
// css class is already in the array
}
}
}

关于javascript - 无法将数据插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23640113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com