我正在研究一個JS,我想創建一個簡單的遊戲,通過選擇玩家人數,每個玩家的名字以及玩家是不是經銷商。可以有每場比賽只有一個經銷商:嵌套for'loop - array undefined
function player(playerName, playerDealer) {
this.playerName = playerName;
this.playerDealer = playerDealer;
}
var playerNumber = prompt('Nr of players?');
var playersArray = [];
for (i = 0; i < playerNumber; i++) {
var j = i + 1;
var dealerAssigned = false; // control variable to check whether dealer has been assigned
var inputName = prompt('Name of player nr ' + j);
var inputDealer = prompt('Is player ' + inputName + ' also a dealer? (yes/no)');
playersArray[i] = new player(inputName, inputDealer);
for (k=0;k<playerNumber;k++){ // I want to go through the players array to check if dealer has been assigned
if (playersArray[k].playerDealer == 'yes') {
dealerAssigned=true;
break;
};
};
if(dealerAssigned){ //if dealer has been assigned, don't add the current player to the array and continue with the next iteration
alert("already assigned");
continue;
};
};
我需要包括一個簡單的測試到,如果經銷商已被任命,將檢查循環。如果是這樣,我希望腳本只提醒'已分配'並跳到下一位玩家。但我總是得到以下錯誤
TypeError:
playersArray[k]
is undefined
任何人都可以解釋爲什麼它是undefined?/我在做什麼錯?
'k = 0'創建一個全局的,我不認爲你想要的! – Sukima