用对象文字的对象属性填充数组

Populate array with objects attributes of an object literal

本文关键字:对象 填充 数组 属性 文字      更新时间:2023-09-26

我有一些卡片定义为对象中的对象,例如:

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(???);
}

我试图使用for in循环和玩键,甚至设法推对象,但只有{key}为我工作,不幸的是给对象只包含键值。如何将整个对象推入cardDeck数组?

你几乎只需要按键遍历对象,从键中获取每个对象,并将其推入数组

小提琴: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);