gpt4 book ai didi

javascript - 如何在javascript数组中存储元素?

转载 作者:行者123 更新时间:2023-11-30 14:53:39 25 4
gpt4 key购买 nike

我正在尝试构建一个纸牌游戏,其中两名玩家获得随机纸牌,获得最多纸牌的玩家获胜。

我尝试将生成的随机数推送到数组中。这里的问题是新数字应该添加到数组中,但它却消失了,数组为空。有人可以帮助我吗。

 var varCounter = 1;
var refVar = setInterval(function() {

if (varCounter <= 4) {

var randomnumber = Math.floor(Math.random() * (13 - 1 + 1)) + 1;
var player1 = [];
player1.push(randomnumber);

for (var i = 0; i < player1.length; i++) {
document.write("<br>");
document.write("player1 " + i + "card");
document.write("<br>");
document.write(player1[i]);

}
varCounter++;
} else if (varCounter >= 5 && varCounter <= 8) {
var randomnumber2 = Math.floor(Math.random() * (13 - 1 + 1)) + 1;
var player2 = [];
player2.push(randomnumber2);
for (var i = 0; i < player2.length; i++) {
document.write("<br>");
document.write("player2 " + i + "card");
document.write("<br>");
document.write(player2[i]);
}
varCounter++;
} else {
clearInterval(refVar);
}
}, 100);

预期输出:

player1 1card
9
player1 2card
12
player1 3card
4
player1 4card
12
player2 1card
5
player2 2card
7
player2 3card
9
player2 4card
2

当前输出:

player1 0card
9
player1 0card
12
player1 0card
4
player1 0card
12
player2 0card
5
player2 0card
7
player2 0card
9
player2 0card
2

最佳答案

正如对您的问题的评论所指出的,您的数组 player1player2 每次遍历计数器时都会被覆盖,因为它包含在迭代中,如果您愿意要在每次迭代中写一些东西,我建议像这样取出你的 for 循环:

if (varCounter <= 4) {
var randomnumber = Math.floor(Math.random() * (13 - 1 + 1)) + 1;
var player1 = [];
player1.push(randomnumber);

document.write("<br>");
document.write("player1 " + varCounter + "card"); // varCounter becomes your 1 2 3 4card
document.write("<br>");
document.write(player1);

varCounter++;
}

或者探索这样的 while 循环:https://codepen.io/corviday/pen/pdMyEw?editors=1010

希望这对您有所帮助!

关于javascript - 如何在javascript数组中存储元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47721401/

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