Javascript 数组访问未定义

标签 javascript html arrays

我对 javascript 完全陌生,但我已经可以用 Java、C# 等进行编程了。

我想生成一副卡片组,然后我想访问这组卡片。

function Card(rank, suit)
{
    this.rank = rank;
    this.suit = suit;
}

function Deck()
{
    this.ranks = new Array("A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K");
    this.suits = new Array("Hearts", "Clubs", "Diamonds", "Spades");
    this.cards = Array(52);
    this.makeDeck = function()
    {
        console.log("Executed MakeDeck!");
        for(var i = 0; i < this.suits.length; i++)
        {
            for(var j = 0; j < this.ranks.length; j++)
            {
                this.cards.push(new Card(this.ranks[j],this.suits[i]));
            }
        }
    }
}

function btnClick()
{
    var deck = new Deck();
    deck.makeDeck();
    console.log(deck.cards[0]);
}

在函数“btnClick()”中,我想记录数组中的第一项,但控制台只是告诉我“未定义”。我找不到我的错误,也许你可以帮助我?

最佳答案

问题是您已经初始化了一个包含 52 个元素的数组...然后您将push更多元素添加到其中。

您需要做的就是this.cards = [];。 JavaScript 具有可变长度数组。

关于Javascript 数组访问未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23860673/

相关文章:

javascript - 如何在HTML页面中播放视频

javascript - 无法使用javascript api从linkedin注销

javascript - 在JS中用const之类的东西定义一个数组

javascript - 在 DOM 元素上触发点击事件

arrays - 数组列值与配置单元中正常列值之间的比较

javascript - 查找数组的最大值

javascript - 带增量变量的 Node Mysql查询

javascript - 正则表达式对非捕获组懒惰

html - WordPress 中的响应式 iframe

html - 如何在 emacs 导出的 HTML 中集成图像(通过本地路径设置)?