2013-04-01 52 views
-1

好的,我想訪問一個循環中的對象,以便我的代碼在每個對象中工作,不幸的是,我的對象位於另一個對象中。例如:如何通過偏移訪問對象中的對象?

var object = new Object(); 
object.insider1 = new Object(); 

object.insider1.name = "ex"; 
object.insider1.type = "blah"; 

object.insider2 = new Object(); 

object.insider2.name = "Ex2"; 
object.insider2.type = "blah2"; 

現在用的循環來訪問它:

for(var g=0; g<object[object.length]; g++){ 
//do stuff 
} 

對象[object.length]被標註爲「不確定」,因此,我不能用它...有有任何解決這個問題的方法嗎?謝謝!

+0

你會使用'for ... in'循環,但JS對象的屬性本身是無序的。你最好使用一個數組,比如Nils的答案。 –

回答

2

在我看來,你真正想要的是一個數組屬性來容納你的「內部人」。我會這樣做:

var object = new Object(); // or simply {} 
object.insiders = []; 
object.insiders.push({name: "ex", type: "blah"}); 
object.insiders.push({name: "Ex2", type: "Blah2"}); 
// Or object.insiders.push(insider1) if you have created them already 

for(var i = 0; i < object.insiders.length; i++) { 
    // Do stuff 
} 
+0

這正是我想要的,但我的insider1和insider2將如何獲得數組內部人員的數組屬性? – user2231784

+0

我不知道我明白你的意思。你的意思是如何讓內部人進入陣列?我更新了這個例子。 – NilsH

+0

是的,但保留其對象屬性 – user2231784