簡體   English   中英

我怎么知道數組元素何時被彈出()

[英]How can I tell when an array element has been .popped()

我正在使用 jQuery 和 JavaScript 制作紙牌游戲。我有一個數組,我正在使用.pop()連接到.click function 以復制用戶一次從一副牌中移除和顯示一張牌. 真正的游戲只有在先拉出另一張牌時才會添加到牌組中。 我最初處理這個問題的計划是創建一個如下所示的 if function。

HTML:

<p id="cards">click anywhere on screen to flip a card. Enjoy!</p>
                

JavaScript:

$("#gameBoard").click(function () { 
    $('#cards').html(newCardArray.pop());   
    if ($('#cards').val("some card value") {
        newCardArray.push("dependent card value");
    }
});

這適用於將“相關卡值”推送到數組,但它是在頁面加載時立即添加的,而不是在像我想要的那樣將“某些卡值”打印到 P 標簽之后添加的。 我假設這是因為在我偽編碼為“一些卡片值”的前面有一個變量因此我決定使用includes()因為字符串永遠不會說“一些卡片值”它更像是 var + "一些卡值”。 無論如何,我的第二次嘗試如下。

HTML:

<p id="cards">click anywhere on screen to flip a card. Enjoy!</p>

JavaScript:

$("#gameBoard").click(function () {
    $('#cards').html(newCardArray.pop());   
    var cardValue = document.getElement.ById("cards").textContent;
    var n = str.includes("some card value");
    if (n = true) {
        newCardArray.push("dependent card value");
    }
});

這也沒有用。 它從不將值推送到數組,在我循環遍歷數組中的所有卡片后,單擊 function 什么都不做。 在實際代碼中,我有一個 function 用於在數組為空並且不會觸發時結束游戲,所以我假設includes()行是問題所在。

將彈出的結果放在一個變量中,以便您可以將它用於其他事情。

$("#gameBoard").click(function () { 
    var card = newCardArray.pop();
    $('#cards').html(card);   
    if (card == "some card value") {
        newCardArray.push("dependent card value");
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM