2016-02-15 92 views
0

例如,假設有這個對象我JSON.stringify打印:如何訪問與動態proprierties對象

var element={"name":"Hugo","age":20,"items":[{"id":"student__0","dog__0":"3}{"id":"student__1","dog__1":2}]}; 

所以我在我的jQuery代碼兩年我想建串的名字:

for(var i=0,i<student_number;i++){ 
var label="student__"+i; 
//no my code give me error and I don't know how access 
//want to show that the value of "student__0" 

console.log(element['items'][i].label); 

} 
+0

這可能是一個包含「student__0」的屬性ID不標註,所以:'的console.log (element ['items'] [i] .id);'應該工作...如果你想將它設置爲標籤變量,那麼'element.items [i] .id = label;'應該工作 – Jay

+0

是的,但是我有索引建立我的「ID」,它可能或不可能? – Picco

+2

是的,如果你需要動態訪問它,你可以'console.log(element ['items'] [i] [label]);' – Jay

回答

0

如果您試圖訪問使用var label的財產,你可以做

for(var i=0,i<student_number;i++){ 
var label="student__"+i; 
console.log(element['items'][i][label]); //note the label is in bracket notation not dot notation 

} 

這確實取決於你的對象鍵被稱爲「student__0」而不是「id」。

如果你只是想訪問id屬性,那麼:

for(var i=0,i<student_number;i++){ 
    var label="student__"+i; 
    console.log(element['items'][i].id); 
} 

應該足夠

+0

我認爲你應該在引號.... console中使用'id'。 log(元素['items'] [i] ['id']),因爲id是關鍵字。 –