2013-11-13 2 views
0

Я все еще очень новичок в массиве, мой вопрос в том, как вы связываете массивы один за другим?Dyamic многомерный массив в Javascript, которые связаны друг с другом?

Например: В сезоне массива ниже, есть 4 ключей/значений, то в designer0 и designer1 массива, есть 3 ключа/значение пар.

Для designer0 массива, это принадлежит к сезон [0] и designer1 массива, это принадлежит к сезон [1], но как я пишу это таким образом, что есть родитель и ребенок связан?

var season = new Array(); 
season[0] = "summer 2013"; 
season[1] = "winter 2014"; 
season[2] = "autumn 1998"; 
season[3] = "spring 2005"; 


var designer0 = new Array(); 
designer[0] = "Albbs"; 
designer[1] = "Alexander Wang"; 
designer[2] = "BCBG Max Azria"; 


var designer1 = new Array(); 
designer[0] = "William Howe"; 
designer[1] = "Bringingthewood"; 
designer[2] = "Kesha"; 

ответ

1

Если мы говорим о javascript, вы должны помнить: в нем нет встроенных ассоциативных массивов. Поскольку ваш season уже содержит данные, единственный способ поддерживать подчинение - создать ассоциативный массив, где имя сезона будет ключевым, а данные дизайнеров - значением.

Однако, вы можете использовать массив объектов для создания желаемой структуры данных:

var seasons = [ 
    { 
     "index" : 0, 
     "name"  : 'summer 2013', 
     "designers": ['Albbs', 'Alexander Wang'] 
    }, 
    { 
     "index" : 1, 
     "name"  : 'winter 2014', 
     "designers": ['William Howe', 'Kesha'] 
    } 
]; 

-см this скрипку, чтобы проверить, как работать с такими данными.

2

Вам нужен новый тип: «объект», точно так же, как ключ & значение.

var seasons = [{ 
    name: "summer 2013", 
    designers: ["Albbs", "Alexander Wang", "BCBG Max Azria"] 
}, { 
    name: "winter 2014", 
    designers: ["William Howe", "Bringingthewood", "Kesha"] 
}]; 

объект массив.

1

Вы можете использовать JSON:

[ 
    { 
    "season":"summer 2013", 
    "designer1":"Albbs", 
    "designer2":"William Howe" 
    }, 
    { 
    "season":"winter 2014", 
    "designer1":"Alexander Wang", 
    "designer2":"Bringingthewood" 
    } 
] 
0

Добавить новый массив, который связывает их, а затем ссылаться на этот массив:

seasonal_designers = 
[ 
0 = {designer0[0],designer0[1],designer0[2]} 
1 = {designer1[0],designer1[1],designer1[2]} 
] 

Теперь получить такие вещи, как это:

value='' 
for(i in seasonal_designers[specify number]) 
value+=seasonal_designers[specify number][i] + ' (the designers id '+ i +')' 
Смежные вопросы