我有一些卡被定义为对象中的对象,例如:
var cards = {
s2: {suit: 4, rank: 2, name: '2 of spades'},
s3: {suit: 4, rank: 3, name: '3 of spades'},
//etc.
};
我需要它们在一个对象中,而不是一个数组。
然后我需要创建一个具有一定长度的数组并用卡填充它。
这些方面的东西:
var cardDeck = [];
for (i=0; i < 52, i++){
cardDeck.push(???);
}
我尝试在循环中使用并使用键进行操作,甚至设法推送对象,但只有{key}为我工作,不幸的是,对象只包含键值。如何将整个对象推入cardDeck数组?
答案 0 :(得分:2)
你几乎拥有它,它只是通过键遍历对象,从键中获取每个对象,并将其推入数组
小提琴:https://jsfiddle.net/q3jaagcq/
var cards = {
s2: {suit: 4, rank: 2, name: '2 of spades'},
s3: {suit: 4, rank: 3, name: '3 of spades'},
//etc.
};
var cardDeck = [];
for (var key in cards) {
var card = cards[key];
cardDeck.push(card);
}
console.log(cardDeck);