2

我目前正在研究一个网站类型项目,我是JavaScript新手。所以我一直在语法的某些部分遇到麻烦。基本上我试图在嵌套数组arr中打印'id'和'value'。使用Java脚本和多维数组

var myArray = new Array({id:'1', value:'een', arr: new Array({id:'10', value:'een'})}; 
var obj = myArray[0]; 
document.write(obj.id); 

这将打印ID 1但林不知道如何访问ID 10

此外,如果有做这让我知道请一个更简单的方法!

+1

仅供参考,不使用新'阵列()'但'[]'数组文本。 – ThiefMaster 2012-03-15 14:40:48

回答

0

正确的引用是:

obj.arr[0].id 

PS:谷歌Chrome开发者控制台是用于测试JavaScript对象dereefrecing一个GOOT操场

+0

如果我想初始化一个像这样的大小为10的数组,我该怎么做? – user1271792 2012-03-15 15:09:04

+0

我会为此提出[]文字,但它会非常漂亮 - 但是没有办法。通常这样的JavaScript数组来自某种AJAX服务的服务器(JSON是合法的valav javascipt文字,可以被简单评估),它们在某些后端数据模型中自动转换 – 2012-03-15 18:23:32

0

你不能不迭代数组。

如果顺序并不重要,使用对象来代替:

var myObject = { 
    1: {id:'1', value:'een'}, 
    10: {id:'10', value:'een'} 
}; 
var obj = myArray[10]; 
document.write(obj.id); 

如果您的数组中的嵌套意,这里就是你想要的东西:

var obj = myArray[0].arr[0]; 

演示:

> var myArray = new Array({id:'1', value:'een', arr: new Array({id:'10', value:'een'})}); 
> myArray[0].arr[0] 
{ id: '10', value: 'een' } 
2

首先,不要使用new Array构造函数。只需定义一个数组字面[...]。所以,你的myArray会像:

var myArray = [{id:'1', value:'een', arr: [{id:'10', value:'een'}]}]; 

要到达的10id,你需要访问myArray[0].arr[0].id;

+0

'[0]',而不是'[1]'为内部阵列 – ThiefMaster 2012-03-15 14:45:50

+0

不要问我为什么写'[1]'。我不知道XD – 2012-03-15 15:21:44