javascript - 如何创建循环来构造一副完整牌组中的所有 52 张牌?

标签 javascript arrays loops

我有两个不同的 js 文件,一个用于卡片构造函数,另一个用于卡片组。我正在尝试为牌组对象创建加载函数,这样我就可以加载 52 个卡牌对象,它们都是唯一的以创建完整的牌组,但我不确定如何使循环执行此操作。

card.js

function card(pRank, pSuit){
    this.rank = pRank,
    this.suit = pSuit,
    this.used = false;
}

甲板.js

deck = {

    cardArray: [],

    load: function(){
        for(i=0; i<52; i++){
           this.cardArray.push(card);
            };
        }
    }

最佳答案

如果接下来是结构,您可以执行以下操作

const ranks = ['ACE', 'KING', 'QUEEN', 'JACK', '10', '9', '8', '7', '6', '5', '4', '3', '2'];
const suits = ['SPADES', 'HEARTS', 'DIAMONDS', 'CLUBS'];

function card(pRank, pSuit){
    this.rank = pRank,
    this.suit = pSuit,
    this.used = false;
}

const cardArray = suits.reduce((cards, suit) => { return [
        ...cards,
        ...ranks.map((rank) => new card(suit, rank))
    ]
}, []);

关于javascript - 如何创建循环来构造一副完整牌组中的所有 52 张牌?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59979342/

相关文章:

python - 可以在 lambda 中完成循环吗?

javascript - 如何减慢 JavaScript 循环

JavaScript 文件在我看来没问题,但出现语法错误

javascript - 引导轮播失败

javascript - 回调混淆fs模块

javascript - 隐藏 div 直到滚动

arrays - Solidity:UnimplementedFeatureError:此处未实现嵌套动态数组

python - 多处理写入python数组的函数循环

python - SciPy optimize.fmin ValueError : zero-size array to reduction operation maximum which has no identity

c++ - "array bound is not an integer constant"在运行时创建结构