Heim > Web-Frontend > js-Tutorial > Wie entferne ich Elemente während der Schleife sicher aus einem JavaScript-Array?

Wie entferne ich Elemente während der Schleife sicher aus einem JavaScript-Array?

Linda Hamilton
Freigeben: 2024-12-18 20:05:11
Original
439 Leute haben es durchsucht

How to Safely Remove Items from a JavaScript Array While Looping?

Durchlaufen von Arrays und Entfernen von Elementen, ohne die Schleife zu unterbrechen

In JavaScript kann das Durchlaufen eines Arrays und das Entfernen von Elementen aufgrund der schwierig sein Art und Weise, wie splice() funktioniert. Wenn ein Element mit splice() aus einem Array entfernt wird, wird das Array neu indiziert, was dazu führen kann, dass ein Index und eine veraltete zwischengespeicherte Länge übersprungen werden.

Um dieses Problem zu beheben, gibt es zwei elegante Lösungen :

Dekrementieren des Index nach dem Spleißen

Ein Ansatz besteht darin, den Schleifenindex i nach der Ausführung von a zu dekrementieren splice(). Durch Dekrementieren von i stellen wir sicher, dass die nächste Iteration das zuvor entfernte Element überspringt und so Lücken in der Schleife verhindert.

Iterieren in umgekehrter Reihenfolge

Alternativ können wir iterieren in umgekehrter Reihenfolge durch das Array. Wenn Sie mit dem letzten Index beginnen und i bei jeder Iteration dekrementieren, wird das Problem der Neuindizierung vermieden, da die entfernten Elemente bei höheren Indizes keine Auswirkungen auf die niedrigeren Indizes haben. Diese Methode ermöglicht eine effizientere und sauberere Schleife.

Beispiel:

Hier ist eine überarbeitete Version des Codes unter Verwendung der umgekehrten Iterationstechnik:

var i = Auction.auctions.length;
while (i--) {
    ...
    if (...) { 
        Auction.auctions.splice(i, 1);
    } 
}
Nach dem Login kopieren

Dieser Ansatz wahrt die Integrität der Schleife, indem er in umgekehrter Reihenfolge iteriert und entfernte Elemente behandelt, ohne die verbleibenden Elemente zu beeinträchtigen.

Das obige ist der detaillierte Inhalt vonWie entferne ich Elemente während der Schleife sicher aus einem JavaScript-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage