【发布时间】:2020-12-04 18:13:35
【问题描述】:
我正在学习 JavaScript。我在网上找到了这个问题并尝试这样做。
创建 2 个类“Card”和“Deck”,它们代表一副标准的 52 张扑克牌。例如黑桃 A 或红桃 5。
接受 2 个参数“suit”和“rank”并将它们存储为公共属性的卡片类。 Deck 类有一个常量数组 [S, C, D, H]。 Deck 有一个常数数组[2,3,4,5,6,7,8,9,10,J,Q,K,A]。 Deck 有一个空的“cards”数组
在 Deck 实例化时,使用“Card”类用所有 52 张标准扑克牌填充卡片数组
我只用Deck 类通过遍历数组来做到这一点。但是如何使用单独的类呢?
class Deck {
suits = ["S", "C", "D", "H"];
ranks = [2, 3, 4, 5, 6, 7, 8, 9, 10, "J", "Q", "K", "A"];
constructor(suits, ranks) {
this.suits = suits;
this.ranks = ranks;
this.cards = [];
}
getAllCards() {
var cards = new Array();
for (var i = 0; i < suits.length; i++) {
for (var x = 0; x < cards.length; x++) {
var card = {
Value: cards[x],
Suit: suits[i]
};
cards.push(card);
}
}
}
return cards;
}
【问题讨论】:
-
我在你的问题中没有看到 Deck 或 Card 类。
-
我使用一个类/函数做到了这一点。它工作正常,给了我 52 张卡片。但是,我不明白如何在这里使用第二类。
-
因此,不要使用您目前的 Deck 课程,让我来描述一下。 “采用 2 个参数“套装”和“等级”并将它们存储为公共属性的甲板类。
标签: javascript arrays