gpt4 book ai didi

Javascript - 如何删除数组中数组的所有元素

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

目前,当我使用 console.log(deckOfCards) 时,它正在返回所有 52 张牌,每张牌都有花色、值(value)和分配给他们的点数。

{ suit: '♦', value: 'A', points: 11 }
{ suit: '♦', value: 2, points: 2 }
{ suit: '♦', value: 3, points: 3 }
.....

现在,我想从我的 deckOfCards 数组中删除一张具有花色、点数和点数的牌并将其返回。

{ suit: '♦', value: 'A', points: 11 }

这是为了模拟从一副牌中发一张牌。

我已经尝试访问数组的每个索引并将它们添加到 card 变量,但它给了我一个 undefined index 2。

For 循环只返回一组花色而不返回其他花色。

我已将 deckOfCards 更改为一个包含花色、点数和点数的对象。

我的卡片常量是我想从牌组中抽出一张卡片的位置。

const suits = ["♦", "♣", "♥", "♠"];
const values = ["A", 2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K"];

for (const suit of suits) {
for (const value of values) {

let points = parseInt(value);
if(value === "J" || value === "Q" || value === "K") points = 10;
if(value === "A") points = 11;

const deckOfCards = {suit, value, points};

const card = deckOfCards

}
}

编辑 尝试添加新方法

我正在尝试将两张牌分别添加到闲家/庄家手中,但是当我记录它时:

[ { suit: '♠', value: 'A', points: 11 } ]
[ { suit: '♠', value: 'A', points: 11 },
{ suit: '♦', value: 10, points: 10 } ]

为什么我返回的是 3 个对象而不是 2 个?

const dealRandomCard = () => {
return deckOfCards.splice(Math.floor(Math.random() *
deckOfCards.length), 1)[0];
}

// console.log(dealRandomCard());

//////////////////////////////////////////////////////////////

for (let i = 0; i <= 1; i++) {
playerHand.push(dealRandomCard());
dealerHand.push(dealRandomCard());
console.log(playerHand);
// console.log(dealerHand);
}

最佳答案

您可以对结果集使用单个组合对象。以及获得积分的更短方式的对象。

var suits = ["♦", "♣", "♥", "♠"],
values = ["A", 2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K"],
cards = [],
suit,
value,
points = { A: 11, J: 10, Q: 10, K: 10 };

for (suit of suits) {
for (value of values) {
cards.push({ suit, value, points: points[value] || value });
}
}

function getCard() {
return cards.splice(Math.floor(Math.random() * cards.length), 1)[0];
}

console.log(getCard());
console.log(getCard());
console.log(getCard());
console.log(cards);

关于Javascript - 如何删除数组中数组的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52736888/

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