0
我是編程和JavaScript的新手,我有一個問題,現在一直在努力。我試圖建立一個紙牌遊戲,並有一個卡對象,它返回格式卡(card#,例如,5,Hearts)。我在程序開始時處理一張卡片,並確認發出的卡片是唯一的(即,尚未使用)。我有以下結構:無法在卡陣列中獲得唯一值
var usedCards= [];
function dealCards() {
for (i = 0; i < 3; i++)
{
var card = createUniqueCard();
usedCards.push(card.cardRepresentation);
}
}
function createUniqueCard() {
do {
var newCard = new Card();
}
while (usedCards.indexOf(newCard.cardRepresentation) != -1);
return newCard;
}
這仍然會返回我的usedCards數組中的重複卡。任何人都可以指出我的邏輯錯誤?
感謝
這個替換.indexOf()聽起來不錯。你能指出我在哪裏可以學會這麼做嗎? – 2012-02-28 21:17:27
我認爲你最好提前生成所有可能的卡片,然後從它們中隨機選擇 - 如果你存儲對這些卡片的引用而不是生成新卡片,你可以比較它們或使用'.indexOf()' - 但無論如何,如果你'告訴我'Card'和'cardRepresentation'對象的結構是什麼,我可以用一個簡單的例子更新我的問題。 – nnnnnn 2012-02-28 22:56:19