循环遍历对象数组中的项目

时间:2016-08-04 21:51:12

标签: javascript arrays object indexing foreach

我有一组对象。

ABC.getAggregation("V")[0].getItems();

这会产生结果:

MY ARRAY OF OBJECTS

在控制台中,我可以通过指定项目的位置来获得我想要的结果:

ABC.getAggregation("V")[0].getItems()[0].getPosition()
ABC.getAggregation("V")[0].getItems()[1].getPosition()
ABC.getAggregation("V")[0].getItems()[2].getPosition()

上述代码的结果产生字符串值,例如" 3.4554,43,0"。

我如何遍历每个项目并获取我的代码中的位置。就像我在控制台中输入的上述代码一样。不会总是3个对象这就是为什么我不能硬编码上面的3行。

6 个答案:

答案 0 :(得分:1)

您可以使用for循环来迭代所有这些循环。

for(var i=0; i<ABC.getAggregation("V").getItems().length; i++) {
    ABC.getAggregation("V")[0].getItems()[i].getPosition();
}

答案 1 :(得分:1)

您可以像对待任何其他数组一样对待它:

var myArray = ABC.getAggregation("V")[0].getItems();
for(var i=0; i< myArray.length; i++){
  myArray[i].getPosition(); //Do something with the position.
}

答案 2 :(得分:1)

尝试使用Array.prototype.forEach()函数。将为数组中的每个元素调用该函数,并将该元素作为第一个参数传入。

ABC.getAggregation("V")[0].getItems().forEach( function (item) {
  item.getPosition();
  //do something else
});

更多关于&#34; .forEach()&#34;

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

答案 3 :(得分:1)

您可以使用forEach循环来迭代所有这些循环。

ABC.getAggregation("V").getItems().forEach (item, index) {
  return  ABC.getAggregation("V")[0].getItems()[index].getPosition();
}

答案 4 :(得分:-1)

迭代数组中每个对象的一种非常简单的方法就是在数组上使用for循环,甚至不需要声明迭代变量。

前:

var anArray = ['one', 'two', 'three'];

for( i in anArray){  
    console.log('index #: ' + i );
    console.log(anArray[i]);
}

将打印出anAray中的所有元素:

index #: 0

one

index #: 1 

two

index #: 2

three

答案 5 :(得分:-2)

<强> !!显然,这是如何不这样做的一个很好的例子:P

您可以将项目分配给数组并循环遍历它们:

var items = ABC.getAggregation("V")[0].getItems();
var returnString = "";
for (var key in items ) {
  if (items .hasOwnProperty(key)) {
    var element = items [key];
    returnString += element.getPosition() + ',';
  }
}
returnString = returnString.substring(0, x.length-1);
console.log(returnString);