0
執行時。該代碼警告一個數組充滿未定義的對象。我試圖製作一副撲克牌,讓每張牌成爲一個擁有2個對象屬性(花色和價值)的數組元素。我認爲這個問題出現在2個陣列的融合中。Javascript組合對象數組
感謝您的幫助提前!
<body>
<h1>Problem #1</h1>
<h2>Number of Players:</h2>
<form id='form'>
<input type="radio" name="playerChoice" id="playerChoice-1" value="1" />
<label for="playerChoice-1">1</label>
<input type="radio" name="playerChoice" id="playerChoice-2" value="2" />
<label for="playerChoice-2">2</label>
<input type="radio" name="playerChoice" id="playerChoice-3" value="3" />
<label for="playerChoice-3">3</label>
<input type="radio" name="playerChoice" id="playerChoice-4" value="4" checked="checked" />
<label for="playerChoice-4">4</label>
</form>
<a id="deal" href="#">Deal</a>
<div id="theDealtHands">
<p id='p1'>Player 1:</p>
<p id='p2'>Player 2:</p>
<p id="p3">Player 3:</p>
<p id='p4'>Player 4:</p>
</div>
<script src="js/jquery-2.0.3.min.js"></script>
<script>
$(document).ready(function() {
alert("Welcome to the Card House!");
//Add the event listener for the deal button here
$('#deal').click(function(){
var deck = createDeck();
var deck = shuffleDeck(deck);
var choice = $('input[name=playerChoice]:checked', '#form').val();
dealCards(choice, deck);
});
});
var createDeck = function(){
var deck = [];
var suits = [{suit: 'hearts'}, {suit: 'spades'}, {suit: 'diamonds'}, {suit: 'clubs'}];
for (var x =0; x<4; x++){
deck.push({value: 'Ace'}, {value: '2'}, {value: '3'}, {value: '4'}, {value: '5'}, {value: '6'}, {value: '7'}, {value: '8'}, {value: '9'}, {value: '10'}, {value: 'Jack'}, {value: 'Queen'}, {value: 'King'});
}
alert(deck);
for (var y=0; y<52; y++){
if(y<13){ deck[y] = deck[y] + suits[0];}
else if (y<26){ deck[y] = deck[y] +suits[1];}
else if (y<39) { deck[y] = deck[y] + suits[2];}
else {deck[y] = deck[y] + suits[3];}
}
return deck;
};
</script>
</body>
注:JavaScript不支持*加入*對象合併它們,但[有選擇來實現這一目標(HTTP://計算器/問題/ 171251 /何燦我合併 - 屬性 - 的 - 兩個JavaScript的對象 - 動態.COM)。 – 2014-11-01 06:16:26
甜蜜的感謝!這回答了我的問題;榮譽。 – 2014-11-01 06:45:23