何らかの理由で、2番目のループは1から始まります。最初のループは1から始まるfor
ことを私は理解しています。それはそうなることを意味します。ただし、ループは0から始まると言っていても、とにかく1から始まります。for
i
j
for
var findWinners = function (playersRay) {
var players = playersRay;
var results = new Array();
//getdealers dealers hand and info
var dealerHand = players[0]
var dealerScore = dealerHand.getScore()
var dealerBust = dealerScore > 21 ? true : false;
//loops through all players; skips dealer (array position 0)
var numPlayers = players.length;
for (var i=1; i<numPlayers; i++) {
//loops through all the players hands.
//player might have more than 1 hand if he splits his cards
var player = players[i];
var numHands = player.length;
results[i] = new Array();
for (var j=0; j<numHands; j++)
var handScore = player[j].getScore();
if (handScore > 21) {
results[i][j] = false;
}
else if (dealerScore > 21) {
results[i][j] = true;
}
else if (handScore > dealerScore) {
results[i][j] = true;
}
else {
results[i][j] = false;
}
}
return results;
}
これを返します:[undefined, [undefined, true]]
これを返す必要があります:[undefined, [true]]
知りたい場合に備えて。サンプルplayersRay
は次 [Object, [Object]]
のとおりです。オブジェクトには、ディーラーまたはプレーヤーのブラックジャックの手に関する情報があります。
完全なコードへのリンク:https ://docs.google.com/open?id = 0BxvwY0fUFc3aMTdTOXU0b0ttamM