Es kann allerdings vorkommen, dass b<a. Dann müsste die schleife rückwärts laufen, also:
for(var i = a; i>b; i--){ ... viel Code ... }
Das ist zwar eigentlich nur eine simlpe Änderung doch mir fällt im Moment nichts anderes ein als beides komplett auszuschreiben, also:
if(a<b){ for(var i = a; i>b; i--){ ... viel Code ... } } else{ for(var i = a; i<b; i++){ ... viel Code ... } }
Das würde leider zu sehr viel Redundanz führen, was ich gerne vermeiden möchte. Eine möglichkeit wäre den Code in den For-schleifen in eine funktion auszulagern die i überliefert bekommt. Die Lösung gefällt mir allerdings nicht. Vor Allem mit den später im Programm genutzen verschachtelten For-schleifen würde sich der Code vervielfachen.
Ich glaube es wäre besser wenn du dein Problem, oder dein Ziel genauer beschreiben könntest, denn ich wette, dass es da eine elegantere Lösung gibt als eine dynamische Schleife. Die sind nicht ohne Grund sehr hässlich ;-)
Ah super danke. Das erste ist genau das was ich gesucht hab. Sieht zwar schlimm aus aber es triffts und ist kompakt. Dass ich da nicht drauf gekommen bin diese tollen Arithmetischen ifs zu verwenden. Da ich gerade Schach programmiere das eig nur aus einem integer Array besteht sieht der Code eh etwas verwirrend aus. Da macht das auch nicht mehr viel ;-)