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

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

Barbara Streisand
リリース: 2024-12-28 18:54:11
オリジナル
230 人が閲覧しました

How to Safely Remove Array Items During Iteration in JavaScript?

ループ内の配列項目の削除: 反復の保持

問題:

配列を反復処理して項目を削除すると、 splice() メソッド使用時の予期しない動作。項目が削除されると、配列のインデックスが再作成され、後続の要素がスキップされる可能性があります。これにより、前述の未定義変数エラーが発生します。

解決策:

この問題に対処するには、主に 2 つのアプローチがあります:

  1. ループ インデックスのデクリメント: splice() を使用して項目を削除した後、ループ インデックスをデクリメントします。 (i--) インデックスの再作成を考慮します。これにより、ループが正しい要素で続行されることが保証されます。
  2. 逆反復: 昇順 (i ) で反復する代わりに、逆方向 (i--) で反復して、re の影響を回避します。 -インデックス作成。このアプローチでは、次に検査される項目は現在の項目よりも低いインデックスに配置されるため、インデックスの再作成は影響しません。

例:

var i = Auction.auctions.length;
while (i--) {
    ...
    if (...) {
        Auction.auctions.splice(i, 1);
    }
}
ログイン後にコピー

逆に反復することにより、項目の削除は反復内の次の項目に影響を与えません。したがって、ループは中断されることなく継続し、必要に応じて項目を削除します。

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

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