Robert: Funktionsname aus Variablen zusammensetzen?

Beitrag lesen

Hallo,

Wenn mir jemand sagen kann, wie ich einen Array-Namen aus Variablen zusammensetzen kann, bin ich gerne dazu bereit das eval() auszutauschen.

Genauso, wie zuvor mit dem Funktionsnamen - auch das Array ist ein Unter-Objekt irgendeines anderen Objektes (von window, im Falle dass es eine globale Variable darstellt).

Das klappt leider nicht:

window['a'+i].length

liefert den Hinweis: window["a"+i] has no properties.

Uebrigens, wann immer jemand die Notwendigkeit sieht, Variablennamen dynamisch zusammenzusetzen, ist davon auszugehen, dass er mit einem (weiteren) Array besser beraten waere.

Mmh... ist für mich aber einfacher zu warten/ändern. Array2[0] bezieht sich vom Inhalt her auf Array1[0], usw. Die grobe Funktion dazu:

Arrays: a0 bis a3 und b0 bis b3

...  
for(i=0;i<4;i++){  
   for(j=0;j<a1.length;j++){  
      if(eval('a'+i).length-(j+1)>=0){  
         ...  
         writeln(eval('b'+i)[j]);  
         ...  
         writeln(eval('a'+i)[j]);  
         ...  
         }  
      }  
   }  
...