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