Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengalih keluar Item Array dengan Selamat Semasa Gelung dalam JavaScript?

Bagaimana untuk Mengalih keluar Item Array dengan Selamat Semasa Gelung dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-12-24 05:43:20
asal
632 orang telah melayarinya

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

Menggelung Melalui Tatasusunan dan Mengeluarkan Item Tanpa Memecah Gelung

Untuk menggelungkan tatasusunan dengan berkesan dan mengalih keluar item tanpa mengganggu lelaran, pendekatan alternatif adalah perlu. Apabila menggunakan splice() untuk mengalih keluar item semasa gelung, pengindeksan semula tatasusunan boleh menyebabkan masalah.

Satu penyelesaian ialah mengurangkan pembilang gelung (i) selepas mengalih keluar item, mengimbangi semula -pengindeksan.

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
    }           
}
Salin selepas log masuk

Sebagai alternatif, lelaran dalam susunan terbalik juga boleh menyelesaikan isu kerana pengalihan keluar item tidak menjejaskan item yang mendahuluinya dalam tatasusunan.

var i = Auction.auctions.length
while (i--) {
    ...
    if (...) {
        Auction.auctions.splice(i, 1);
    }
}
Salin selepas log masuk

Dengan menggunakan salah satu strategi ini, anda boleh menggelung tatasusunan dengan berkesan, mengalih keluar item dan mengekalkan lelaran berterusan tanpa memecahkan gelung tanpa diduga.

Atas ialah kandungan terperinci Bagaimana untuk Mengalih keluar Item Array dengan Selamat Semasa Gelung dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan