作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建一个纸牌游戏,其中两名玩家获得随机纸牌,获得最多纸牌的玩家获胜。
我尝试将生成的随机数推送到数组中。这里的问题是新数字应该添加到数组中,但它却消失了,数组为空。有人可以帮助我吗。
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
最佳答案
正如对您的问题的评论所指出的,您的数组 player1
和 player2
每次遍历计数器时都会被覆盖,因为它包含在迭代中,如果您愿意要在每次迭代中写一些东西,我建议像这样取出你的 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/
我是一名优秀的程序员,十分优秀!