Daniel Thoma: Rekursion

Beitrag lesen

Hallo Frank,

Der Algorithmus geht zwar voll in die Tiefe, aber
anschließend bricht er einfach ab ohne davor die restliche
for-schleife abzuarbeiten. Woran liegt das?

Das liegt daran, dass die Variable i nicht lokal ist.
Die Variable wird also erstmal in jedem rekursiven Aufruf auf 0 gesetzt bis zu depth = 1. Dort wird dann die for-Schleife einmal abgearbeitet. Anschließend hat i den Maximalwert und alle anderen Schleifendurchläufe werden abgebrochen.

for (var i=0;i<tmpID.length;i++)

So sollte es funktionieren.

Grüße

Daniel