【发布时间】:2020-06-18 02:39:22
【问题描述】:
你知道为什么“card2”会随机将一个对象放入数组吗?它应该总是将一个对象放入数组中。
const cards=[
{
card: '🂡',
value: '1'
},
{
card: '🂢',
value: '2'
},
{
card: '🂣',
value: '3'
},
{
card: '🂤',
value: '4'
},
{
card: '🂥',
value: '5'
},
{
card: '🂦',
value: '6'
},
{
card: '🂧',
value: '7'
},
{
card: '🂨',
value: '8'
},
{
card: '🂩',
value: '9'
},
{
card: '🂪',
value: '10'
}
];
var deck = [];
shuffleDeck = () =>{
var tempDeck = [...cards];
var card1 = [0];
var card2 = [0];
while(0 !== tempDeck.length) {
var randomIndex = Math.floor(Math.random() * tempDeck.length);
card1 = tempDeck.splice(randomIndex, 1);
card2 = tempDeck.splice(randomIndex, 1);
deck = [...card1, ...card2];
}
}
shuffleDeck();
for(var i = 0; i <= deck.length; i++){
console.log(deck[i]);
}
【问题讨论】:
-
不好意思看不懂主要问题,能说清楚点吗?
-
@DiegoVinícius 如果您多次运行代码 sn-p 您会看到数组“deck”将显示它的内容(card1 和 card2),但它不会总是显示 card2。
-
如果你只想显示 card1 你应该添加一些条件,他们会从你的 tempDeck 中随机获取 2 张卡片,并总是尝试在实际卡片组中添加 2 张卡片,但有时会得到错误的索引并添加一个
标签: javascript loops blackjack