2014-03-24 110 views
0

關聯數組我有一個陣列內的陣列如下:內部陣列

var array = new Array(); 

for (i = 0; i < start.length; i++) { 
    array[i] = {}; 
    array[i]['properties'] = {}; 

    for(property in start[i].properties){ 
     //start[i].properties[property] --> ['Type'] = 'any string' 
     array[j]['properties'][property] = start[i].properties[property]; 
    } 
array[i]['id'] = start[i].getId(); 

} 

所以最終我已經與像「ID」和作爲此數組中的數組的元素不同的元素(數組屬性)。

但是,當我在另一個函數使用該陣列中,我不能引用該內陣列:

for (var v = 0; v < array.length; v++) { 
    console.log(array[v][properties]['Type']) 
} 

的「數組[V] [屬性] [‘類型’]」沒有定義。 ....爲什麼?

回答

3

您正在嘗試訪問變量properties,而不是密鑰properties正確的方法是使用array[v].properties.Type

除非必須使用括號語法,否則最好不要使用括號語法 - 使用點語法可以獲得更易讀的代碼。

JavaScript btw的正確術語是對象而不是關聯數組

+0

Thx,但我如何遍歷所有屬性? – jmcclane

+0

for(property [array] [v] .properties){ console.log(array [v] .properties.property); }不起作用..... – jmcclane