2016-11-12 140 views
1

如果我有一個對象數組,我該如何遍歷它?訪問Javascript中的對象數組內的所有屬性

例如這個數組

[{ name: "objc1", size: "small" }, { first: "objc2", size: "medium" }, { first: "objc3", size: "Big" }] 

我可以用這個訪問的每個對象:

for (var key in collection){ 

    alert(collection[key]) 

} 

但我怎麼能去的對象裏面,每個屬性?

回答

1

不要在陣列上使用for ... in,這種方法有several issuesfor ... in實際上是用於遍歷屬性。因此,使用以下(ES6):

for (const item of collection) { 
    for (const key in item) { 
    alert(key+': '+item[key]); 
    } 
} 

在ES5,你需要這樣一個循環:

var item; 
for (var i=0; i < collection.length; i++) { 
    item = collection[i]; 
    for (var key in item) { 
    alert(key+': '+item[key]); 
    } 
} 
+0

進出口使用鉻。 :( – Juan

+0

Chrome很好......支持很多ES6功能 – Lucero

+0

它說:var for僅適用於ES6。:(。Im使用freecodecamp。 – Juan

0

var collection = [{ name: "objc1", size: "small" }, { first: "objc2", size: "medium" }, { first: "objc3", size: "Big" }]; 
 
collection.forEach(item =>{ 
 
    for (property in item){ 
 
    console.log(item[property]); 
 
    }; 
 
});