簡體   English   中英

我可以指定一個變量來檢查循環中的多個數組嗎?

[英]Can I assign a variable to check multiple arrays inside a loop?

我試圖檢查循環內的多個數組,所有數組都具有相同的索引。 我沒有手動編碼每個列表,而是想對它進行軟編碼,所以每次函數循環時它都可以檢查我的所有數組。 我的所有數組都命名為:score1-score8,但每當此代碼運行時,它實際上不會檢查任何列表。

function checkHorizontal()
{

    var rowcount=0;
    var checkLists;
    var player1=0;
    var player2=0;

    checkLists="score"+rowcount;

    for (var i = 0; rowcount <= 8; i++) 
    {
        rowcount+=1;
        if(checkLists[rowcount]==1) 
        {
            player1+=1;
            player2=0;    
        }
        else if (checkLists[rowcount]==2)
        {
            player2+=1;
            player1=0;
        }

    }

}

您可以將分數保存在數組中並使用另一個for循環,而不是為每個分數指定具有索引的變量名稱。

這是一個例子,假設:

  • 我們有兩名球員
  • 游戲由未知數量的集合組成
  • 一組由未知數量的腿組成

 const player1 = 1; const player2 = 2; const set1 = [ 1, 2, 1 ]; const set2 = [ 1, 2, 2 ]; const set3 = [ 2, 2, 1 ]; let player1Score = 0; let player2Score = 1; // Create a new array containing all sets: const game = [ set1, set2, set3 ]; // Loop over every set in the game for (let s = 0; s < game.length; s += 1) { const set = game[s]; // Loop over the legs in every set for (let g = 0; g < set.length; g += 1) { const winner = set[g]; if (winner === player1) player1Score += 1; if (winner === player2) player2Score += 1; } } console.log(`The final match score is player1 ${player1Score} vs player2 ${player2Score}`); 

對於您的具體情況,您可以將game定義為[ score1, score2, score3, score4, score5, score6, score7, score8 ]

如果玩家數量也不同,您也可以將它們添加到陣列中! 你會得到第三個循環,檢查你需要為你處理的每條腿分配一個點的玩家。

暫無
暫無

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

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