在Javascript中访问对象数组中的所有属性

时间:2016-11-12 15:01:58

标签: javascript arrays

如果我有一个对象数组,我怎么能遍历它?

例如这个数组

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

我可以使用以下方法访问每个对象:

for (var key in collection){

  alert(collection[key])  

}

但我如何进入物体内部,每个物业?

2 个答案:

答案 0 :(得分:1)

不要在数组上使用for ... in,这种方法有several issues。实际上for ... 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]);
  }
}

答案 1 :(得分: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]);
  };
});