AngularJS forEach停止

时间:2016-02-04 20:39:45

标签: javascript angularjs foreach

我有一个很多对象的Lots对象。 该对象由lotId

索引
var lots = {
    800: {
        lotId: 800,
        ...
    },
    801: {
        lotId:801,
        ...
    }
}

当我使用angular.forEach遍历对象时,我在控制台中记录每个批次的lotId。

angular.forEach(db.lots, function (lot) {
    console.log(lot.lotId);
})
console.log('forEach finished');

正如我们所看到的,Lots集合长度为821,对象中的最后一个批次为lotId 1768

enter image description here

当此代码运行时,它仅打印到lotId 820:

enter image description here

所以最后一个日志应该是1768,我不知道它为什么停在lotId 820(对我而言,这与Lots长度相吻合[821])。

使用for循环的native的另一种方法:

for (var lotId in db.lots) {
    if (!db.lots.hasOwnProperty(lotId)) continue;
    console.log(lotId);
}
console.log('forEach finished');

然后我们得到了我想要的结果:

enter image description here

需要注意的事项:

  • 我使用相同的angular.forEach方法,使用相同但较小的批次集合(长度为768)并且工作正常。
  • 在Lots集合中添加了100个批次,之后我使用的相同angular.forEach函数停止了正常工作。
  • 控制台中没有错误。

有什么想法吗?

0 个答案:

没有答案