【发布时间】:2021-12-28 15:59:01
【问题描述】:
所以我为纸牌游戏构建了这个功能,用于“发牌”功能:
const dealCards = () => {
for(let i = 0; i < users.length; i++) {
let card = cards.pop()
playerHands[i].hand.push(card)
}
}
它的主要目的是插入一个对象
hand: []
playerHands 元素
Player Hands 的结构如下:
0: {id: 0, user: 'Player 1', hand: Array(0), score: 0}
1: {id: 0.9801915170560507, user: 'Player 2', hand: Array(0), score: 0}
2: {id: 0.0006669572315951555, user: 'Player 3', hand: Array(0), score: 0}
3: {id: 0.5767750038678146, user: 'Player 4', hand: Array(0), score: 0}
4: {id: 0.6448035494497826, user: 'Player 5', hand: Array(0), score: 0}
我试图像这样推入手中的元素:
{suits: '♦', value: '9'}
我遇到的问题是,它不是通过 for 循环运行并为每个用户插入一个新元素(基于 [i] 索引),而是为每个用户插入这个:
0: {suits: '♦', value: 'K'}
1: {suits: '♦', value: 'Q'}
2: {suits: '♦', value: 'B'}
3: {suits: '♦', value: '10'}
4: {suits: '♦', value: '9'}
这是一个例子:
假设有 5 个玩家。
循环运行 5 次。
它按预期递增 i。
但由于某种原因,我没有为每个用户提供一张不同的卡,而是为每个用户从弹出窗口中获取所有 5 张卡。
所以每个用户都拿到了相同的 5 张牌
这是我在浏览器中看到的示例:
我不知道为什么会这样,有人知道吗?
【问题讨论】:
-
您如何确切初始化
.hand数组,尤其是您确定它们是单独的数组吗?
标签: javascript arrays reactjs for-loop object