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