Rolf B: Frage zum Wiki-Artikel „empty“

Beitrag lesen

problematische Seite

Hallo,

by the way: du hast Glück, dass deine remove()-Aufrufe auf den Nodes, die der Node-Iterator gerade im Zugriff hat, die Iteration nicht abschießen. Wie gesagt: Modifiziere während der Iteration nie die iterierte Collection, die Chancen stehen gut, dass dann Elemente nicht verarbeitet werden oder der Iterator abstürzt - das ist eine sprachunabhängige Weisheit. In C#.net, meiner Muttersprache“, ist es sogar so, dass .net das erkennt und das Programm mit einer Exception abbricht.

Als ich deinen Code sah, war mein erster Gedanke, dass das der Fehler sein müsste. War es nicht, JavaScript scheint im nextElement() Aufruf bereits das Folgeelement zu ermitteln, aber trotzdem - es ist grundsätzlich riskant und sollte vermieden werden.

Empfehlung aus 40 Jahren Berufserfahrung: die zu löschenden Elemente zunächst in einem Array sammeln und sie erst nach Abschluss der Iteration löschen.

Rolf

--
sumpsi - posui - obstruxi