当您执行时,该数组将被重新索引
.splice(),这意味着删除索引时将跳过索引,并且缓存
.length已过时。
要解决此问题,您可能需要在
i后面减一
.splice(),或者简单地反向迭代…
var i = Auction.auctions.lengthwhile (i--) { ... if (...) { Auction.auctions.splice(i, 1); } }这样,重新索引不会影响迭代中的下一个项目,因为索引仅影响从当前点到数组末尾的项目,并且迭代中的下一个项目低于当前点。



