【发布时间】:2021-12-25 04:18:39
【问题描述】:
我有以下 for 循环,当我使用 splice() 删除一个项目时,我发现“秒”未定义。我可以检查它是否未定义,但我觉得可能有一种更优雅的方式来做到这一点。愿望是简单地删除一个项目并继续前进。
for (i = 0, len = Auction.auctions.length; i < len; i++) {
auction = Auction.auctions[i];
Auction.auctions[i]['seconds'] --;
if (auction.seconds < 0) {
Auction.auctions.splice(i, 1);
}
}
【问题讨论】:
-
除了向后迭代和调整长度之外,你还可以将你想要的成员放入一个新的数组中。
-
你为什么说
Auction.auctions[i]['seconds']--而不是auction.seconds--? -
您可能想查看预定义函数 .shift();
标签: javascript loops