首页 > web前端 > js教程 > 如何在 JavaScript 循环期间安全地删除数组项?

如何在 JavaScript 循环期间安全地删除数组项?

Susan Sarandon
发布: 2024-12-24 05:43:20
原创
605 人浏览过

How to Safely Remove Array Items During a Loop in JavaScript?

循环遍历数组并在不中断循环的情况下删除项目

要有效地循环遍历数组并删除项目而不中断迭代,替代方法是必要的。当使用 splice() 在循环期间删除项目时,数组的重新索引可能会导致问题。

一种解决方案是在删除项目后递减循环计数器 (i),补偿重新索引-indexing.

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);
        i--; // Decrement to compensate for re-indexing
    }           
}
登录后复制

或者,以相反的顺序迭代也可以解决问题,因为删除一个项目不会影响它前面的项目数组。

var i = Auction.auctions.length
while (i--) {
    ...
    if (...) {
        Auction.auctions.splice(i, 1);
    }
}
登录后复制

通过采用其中一种策略,您可以有效地循环数组、删除项目并保持连续迭代,而不会意外中断循环。

以上是如何在 JavaScript 循环期间安全地删除数组项?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板