2013-07-26 18 views
0

我有一個對象,其中包含可變數量的數組。財產標題總是一個數字(如:15,117)。我可以簡單地使用名稱[15]名稱[117]訪問陣列,但由於數據請求,這些值不斷變化。如何訪問JavaScript對象的屬性,當它有一個動態數字作爲屬性標題?

我如何以「第一」或「第二」的方式訪問它們?

var names = { 
    15: Array[1]; 
    117: Array[1]; 
}; 

如果不工作,我嘗試了for ... in循環存儲在變量數組,但它並沒有真正的工作了:

var name1, name2; 

for(var key in names){ 
    if(name1){name2 = names[key];} 
    if(!name1){name1 = names[key];} 
} 

只要有是更多的陣列,它是壓倒name1與name2等...

任何想法如何解決這個問題?感謝您的時間。

+0

只能用循環訪問它們 – FSou1

+0

什麼是'Array'應該在這裏?你的意思只是一些樣本數組,或者你是否真的想要使用'Array'構造函數? – Bergi

+0

這並不重要。它是一個包含不同屬性的對象的數組。然後我使用字符串值訪問一些屬性。 – MichaelKaeser

回答

1

我刪除了我剛纔的答覆,因爲我認爲這是不準確的。 js fiddle

var names ={1: ["a","b"],2:["c","d"],3:["e","f"]} 

var nameArr=[],i=0; for(var key in names){ nameArr[i++] = names[key]; } 

for(i=0;i<nameArr.length;i++) 
alert(nameArr[i]); 
0

有例子,你怎麼可以訪問你的對象的屬性與循環:http://jsfiddle.net/Y7mHB/

var names = { 
    15: '15', 
    117: '117' 
}; 

for(var key in names) { 
    alert(key + ' ' + names[key]); 
} 
0

是的,這是千真萬確的訪問他們這樣。我的問題是,我必須單獨並將其作爲變量,以然後將它們傳遞給函數可能看起來像這樣誰:

var a = name[key];//the first object-property (how to store??) 
var b = name[key];//the second object-property (how to store??) 

function doSomething(a,b){ 
//do something usefull 
} 
相關問題