[英]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.