2016-01-18 2 views
0
function CreateSuit(suit){ 
    this.suit = suit; 
    this.vaule = i; 
    this.name = name; 
} 

var twoClubs = new Card ('clubs', 2, 'two of clubs'); 
var threeClubs = new Card ('clubs', 3, 'three of clubs'); 
var fourClubs = new Card ('clubs', 4, 'four of clubs'); 

var deck = []; 

Как поместить эти объекты в массив колоды? Извините, если это тупой вопрос, у меня возникли проблемы с поиском ответа.JavaScript: Как вы храните объекты в массиве?

+2

'deck.push (twoClubs)' – adeneo

+1

'var deck = [twoClubs, threeClubs, fourClubs];' – adeneo

ответ

1

У вас есть несколько вариантов, как указано в комментариях.

1) Инстанцировать массив с объектами:

var deck = [twoClubs, threeClubs, fourClubs]; 

2) Добавить объекты на массив:

var deck = []; 
deck.push(twoClubs); 
deck.push(threeClubs); 
deck.push(fourClubs); 

3) Можно даже создать экземпляр массива и объявить объекты на то же время:

var deck = [new Card ('clubs', 2, 'two of clubs'), new Card ('clubs', 3, 'three of clubs'), new Card ('clubs', 4, 'four of clubs')]; 

Технически, это самый эффективный способ (остерегайтесь: это брови ser/реализация зависит).

+0

«Технически, это самый эффективный способ». Согласно какой метрике? – Ryan

+0

Никакой цитаты не требуется. Не объявляя переменные за пределами массива, OP будет выполнять меньше операций и использовать (меньшую сумму) меньше памяти. –

+0

Я добавил оговорку. –

1

Существует несколько способов сделать это. Вы можете инициализировать массив со значениями присутствующих:

var deck = [twoClubs, threeClubs, fourClubs] 

Или вы можете добавить их в массив на лету:

var deck = []; 
deck.push(twoClubs); 
deck.push(threeClubs); 
deck.push(fourClubs); 

Или вы можете даже указать, где в массиве вы хотите поместить их :

var deck = []; 
deck[2] = threeClubs; 
deck[0] = fourClubs; 
deck[1] = twoClubs 

Или вы можете смешивать и сочетать любые из них:

var deck = [threeClubs]; 
deck[1] = twoClubs; 
deck.push(fourClubs); 
+0

Удивительно поблагодарить всех вас за помощь! Это дает мне неплохие возможности для игры! – JuniorSauce

0

Теперь, когда вы добавили объект в массив, используя любой из методов, упомянутых в других ответах.

var deck = [twoClubs, threeClubs, fourClubs]; 

или

var deck = []; 
deck.push(twoClubs); 
deck.push(threeClubs); 
deck.push(fourClubs); 

можно извлечь и удалить последний объект из массива с помощью

deck.pop(); // remove and return last object 

или вы можете использовать индексы для извлечения объекта из определенного места

deck[1] // returns threeClubs 
Смежные вопросы