2015-02-10 4 views
0

Я хотел бы знать (если это возможно), как я могу передавать данные в многомерный ассоциативный массив с JavaScript, как это:Javascript - многомерный ассоциативный массив

myarray['type1']['label1'].push('Data to insert'); 
myarray['type1']['label1'].push('Data2 to insert'); 
myarray['type1']['label1'].push('Data3 to insert'); 


myarray['type2']['label1'].push('Data to insert'); 
myarray['type2']['label2'].push('Data1 to insert'); 
myarray['type2']['label2'].push('Data2 to insert'); 

Вот ответ спасибо Бреннан:

myarray = {}; 
myarray['type1'] = {}; 
myarray['type1']['label1'] = []; 
myarray['type1']['label1'].push('Data to insert'); 
myarray['type1']['label1'].push('Data2 to insert'); 
myarray['type1']['label1'].push('Data3 to insert'); 

console.log(myarray); 

http://jsfiddle.net/177zu9n4/

Спасибо большое.

+1

создать массив .. и нажмите на ИТ – Pogrindis

+1

Убедитесь, что вы делаете это первый ... 'MyArray [ 'типа1 '] [' label1 '] = [] ' –

+0

[** Остановить злоупотребления массивами !!! **] (http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/) – Bergi

ответ

2
myarray= {}; 
myarray.type1= {}; 
myarray.type1.label1= "Data to insert"; 

console.log(myarray.type1.label1); 

Это то, что вам нужно? Если label1 как-то имел в виду, чтобы держать вещи тоже, как массив:

myarray= {}; 
myarray.type1= {}; 
myarray.type1.label1= []; 

myarray.type1.label1.push("data"); 

console.log(myarray.type1.label1); 

Обратите внимание, что я использовал как объект и массивы в последнем примере, и только те объекты, в первую очередь. У каждого есть конкретные варианты использования, в которых они лучше.

3

Во-первых, должен быть массив там, чтобы раздвинуть данные в:

myarray = {}; 
myarray['type1'] = {}; 
myarray['type1']['label1'] = []; 
myarray['type1']['label1'].push('Data to insert'); 
myarray['type1']['label1'].push('Data2 to insert'); 
myarray['type1']['label1'].push('Data3 to insert'); 
+0

@SofianeSadi: [нет, это не так) (http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/) – Bergi

+1

Действительно. Это не то, как вы должны создавать свои «ассоциативные массивы». «Ассоциативный массив» должен быть javascript-объектом, который используется точно для ключевых значений с именем пары. Отредактированный мой ответ, чтобы быть более ясным @SofianeSadi – Brennan

+0

@ Bergi я не могу думать о какой-либо обоснованной причине в JS, чтобы использовать массив-член через объект? – Pogrindis

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