2015-02-10 50 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

创建一个数组..并推到IT – Pogrindis 2015-02-10 17:13:31

+1

确保你先做到这一点...'myArray的['TYPE1 '] ['label1'] = []' – 2015-02-10 17:14:28

+0

[**停止滥用阵列!!! **](http://andrewdupont.net/2006/05/18/javascript-associative-arrays-considered-harmful/) – Bergi 2015-02-10 17:22:53

回答

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 2015-02-10 17:23:47

+1

确实。这不是你应该如何构建你的'关联数组'。 “关联数组”应该是一个JavaScript对象,它完全用于键值对名称。编辑我的答案是更清晰@SofianeSadi – Brennan 2015-02-10 17:28:09

+0

@Bergi我不能想到任何有效的原因在JS使用关联数组通过obj可以吗?! – Pogrindis 2015-02-10 17:33:20