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
Susan Sarandonasal
2024-12-24 05:43:20554semak imbas

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
    }           
}

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);
    }
}

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:
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