3
我正在創建一個二十一點遊戲,其中的數組中包含對象(cardname:value)。獲取數組中的對象「值」
我想知道是否有一個JavaScript對象的功能,我可以得到一個對象值(在我的情況下,每張卡片的數值得分值),而不必命名鍵(例如:「aced」)?
請參考我的代碼,具體在for循環中;我不知道用什麼來替換「myHand [card [value]]」。
感謝
function shuffle(array) {
var m = array.length, t, i;
// While there remain elements to shuffle…
while (m) {
i = Math.floor(Math.random() * m--);
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
var deck = [{"aced": 11}, {"twod": 2}, {"threed": 3}, {"fourd": 4}, {"fived": 5}, {"sixd":6}, {"sevend": 7}, {"eightd": 8}, {"nined": 9}, {"tend": 10}, {"jackd": 10}, {"queend": 10}, {"kingd": 10},
{"acec": 11}, {"twoc": 2}, {"threec": 3}, {"fourc": 4}, {"fivec": 5}, {"sixc":6}, {"sevenc": 7}, {"eightc": 8}, {"ninec": 9}, {"tenc": 10}, {"jackc": 10}, {"queenc": 10}, {"kingc": 10},
{"aceh": 11}, {"twoh": 2}, {"threeh": 3}, {"fourh": 4}, {"fiveh": 5}, {"sixh":6}, {"sevenh": 7}, {"eighth": 8}, {"nineh": 9}, {"tenh": 10}, {"jackh": 10}, {"queenh": 10}, {"kingh": 10},
{"aces": 11}, {"twos": 2}, {"threes": 3}, {"fours": 4}, {"fives": 5}, {"sixs":6}, {"sevens": 7}, {"eights": 8}, {"nines": 9}, {"tens": 10}, {"jacks": 10}, {"queens": 10}, {"kings": 10}];
shuffle(deck);
function userHand() {
var myHand = [deck.pop(), deck.pop()];
}
function countScore(myHand) {
var total = 0;
for (var card in myHand) {
total += myHand[card[value]];
}
}
如果你不想要鑰匙,爲什麼不把它做成一個簡單的數組? – 2013-08-01 19:58:58
如果你不知道他們的鍵是什麼,那麼你不應該使用鍵/值對。使用數組,如'[「aced」,11]'。然後你可以使用數字索引。或者讓你的對象更加複雜,比如'{card:「aced」,value:11}' –
如果你有一個更好的卡片數據模型,比如'{card:「aced」,value:11} ' – Pointy