Enrico: Schleife wird nur einmalig ausgeführt

Beitrag lesen

Hallo,

ich kann ein - für mich nicht nachvollziehbares - Verhalten bei der Ausführung einer JavaScript-Schleife nicht nachvollziehen.

Ich habe folgendes (hier gekürztes) Array definiert...

  
Hauptmenue = new Array ("Startseite", "Wir über uns", "Rüstzeug", "Waffen", "Gewandung", "Schmuck");  

...und arbeite es mittels folgender Schleife ab:

  
for (i = 0, l = Hauptmenue.length; i < l; i++)  
{  
   Sidebar += '<div class="Button">' + Hauptmenue[i] + '</div>';  
  
   Arrayname = TextBereinigen(Hauptmenue[i]);  
  
   alert(Arrayname);  
}  
  
function TextBereinigen(Text)  
{  
   if (Text.indexOf(" ") !== -1)  
   {  
      Worter = Text.split(" ");  
  
      Text = "";  
  
      for (i = 0, l = Worter.length; i < l; i++)  
      {  
         Worter[i] = Worter[i].substr(0, 1).toUpperCase() + Worter[i].substr(1);  
  
         Text = Text.concat(Worter[i]);  
      }  
   }  
  
   Text = Text.str_replace(["Ä", "ä", "Ö", "ö", "Ü", "ü", "ß", "/"], ["Ae", "ae", "Oe", "oe", "Ue", "ue", "ss", ""]);  
  
   return Text;  
}  

In dieser Konstellation wird mir die Schleife nur einmalig ausgeführt.

Lasse ich hingegen den Aufruf der Textbereinigungsfunktion weg und ersetze im alert-Befehl "Arrayname" gegen "Hauptmenue[i]", so werden mir alle Elemente ausgegeben.

Woran liegt dies?

Vielen Dank für eure Hilfe und Gruß,
Enrico