我对 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/