首頁 > web前端 > js教程 > 如何在 JavaScript 循環期間安全地刪除數組項目?

如何在 JavaScript 循環期間安全地刪除數組項目?

Susan Sarandon
發布: 2024-12-24 05:43:20
原創
587 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板