2013-09-30 4 views
0

Я хочу создать многомерный массив с ключами.Многомерный массив с ключом?

Как объявить массив, а затем вставить в него вещи?

Это право?

var galleryData = new Array(); 
$("#gallery li.gallery-image-item:not(:first)").each(function() { 


    galleryData.push({comment: 'comment', youTube: 'ODOIUOIhd'}); 

} 

Благодаря

+0

Это должно работать нормально. – tymeJV

+0

Это действительный код JavaScript для создания массива объектов; независимо от того, создает ли он то, что вы действительно хотите, трудно сказать. –

+0

Отсутствует конечная скобка, хотя ... –

ответ

0

Это будет работать. Альтернативный синтаксис

var galleryData = []; 

Что приятно, потому что лет может затем сделать что-то вроде этого:

var superGalleryData = [[],[],[]]; //creates an array of 3 arrays 

Другой ответ предлагает использовать ассоциативный массив, но это, как правило, не является хорошей идеей: http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/

0

Если вы хотите 'ключом' массив, который я думаю, что нужно что-то вроде

array['key'] = { comment: 'comment', youtube: 'ODD2345UI' }; 
+1

Если они хотят сделать это, им нужен объект, а не массив; если вы выполняете 'array ['key']' вы просто устанавливаете свойство объекта Array, вы не добавляете элемент в массив. –

0

Вот мой тест для вас: http://jsfiddle.net/neuroflux/MtuLc/1/

var galleryData = []; 
$("#gallery li.gallery-image-item:not(:first)").each(function() { 
    galleryData.push({comment: 'comment', youTube: 'ODOIUOIhd'}); 
}); 

Обратите внимание, что я исправил недостающую скобку и изменил обозначение Array. Я также использовал jQuery только для вывода на страницу.

Смежные вопросы