ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript のループ中に配列項目を安全に削除するにはどうすればよいですか?

JavaScript のループ中に配列項目を安全に削除するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-24 05:43:20
オリジナル
560 人が閲覧しました

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

ループを中断せずに配列をループし、項目を削除する

反復を中断せずに配列を効果的にループし、項目を削除するには、代替アプローチが必要です。 splice() を使用してループ中に項目を削除する場合、配列のインデックスの再作成によって問題が発生する可能性があります。

解決策の 1 つは、項目を削除した後にループ カウンター (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);
    }
}
ログイン後にコピー

これらの戦略の 1 つを採用すると、配列を効果的にループし、項目を削除し、予期せずループを中断することなく連続反復を維持できます。

以上がJavaScript のループ中に配列項目を安全に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート