我有一组对象。
ABC.getAggregation("V")[0].getItems();
这会产生结果:
在控制台中,我可以通过指定项目的位置来获得我想要的结果:
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行。
答案 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);