der unprofi: variable wird zu array

klitze kleine frage vom unprofi:

var map_1 = new Array('55','5','blabla');

...
...
...

for(var x=1;x<50;x++)
   {
   var current_map_array = "map_" + x;
   var c_value = current_map_array[x]
   alert(c_value);
   }

im klartext.
ich drück auf eine map die ruft die funktion xyz(1) auf.
aus der 1 soll nun aus dem array map_1 die werte ausgelesen werden.

aber wie mach ich das current_map_array zum array????
danke für eure hilfe/tipps.

Gruß
alex

  1. Hallo der.

    Wenn ich das richtig sehe, kommst du um eval() nicht herum...

    So müsst es gehen:

    for(var x=1;x<50;x++)
       {
       eval("var current_map_array = "map_""+x+";");
       var c_value = current_map_array[x]
       alert(c_value);
       }

    Man liest sich, H2O

    --
    <!--[if IE]> Download Opera <![endif]-->
    Selfcode: [ie:% fl:( br:< va:) ls:[ fo:| rl:( n4:( ss:) de:> js:| ch:? sh:( mo:| zu:}](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%25%20fl%3A(%20br%3A%3C%20va%3A)%20ls%3A%5B%20fo%3A%7C%20rl%3A(%20n4%3A(%20ss%3A)%20de%3A%3E%20js%3A%7C%20ch%3A%3F%20sh%3A(%20mo%3A%7C%20zu%3A%7D)
  2. Moin!

    aber wie mach ich das current_map_array zum array????

    Warum geht es nicht mit var current_map_array=new Array()?

    Aus dem Rest Deines Skriptes und Deines "Klartextes" bin ich nicht schlau geworden.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
  3. Hi,

    klitze kleine frage vom unprofi:

    Aber eine gute, da bin ich auch schonmal mit reingefallen.
    Aber dafür weiß ich es jetzt ;-)

    var map_1 = new Array('55','5','blabla');

    Dies ist eine globale Variable, ja? D.h.: sie steht in keiner Funktion sondern "nackicht" da?

    Alle Variablen solcher Art sind auch nur Objekte und zwar von window. (es gehen mitunter auch lokale Variabeln, aber da wird's sehr viel komplizierter)
    Das window-Objekt ist auch nur ein Array und die globale Variable map_1 kann also auch mittels window["map_1"] angesprochen werden.
    Ähm ... nich' klar? Erzähl ich schon wieder völlig unverständlich? Na gut, dann Beispiel ;-)

      
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    <html>  
    <head>  
    <title>[Titel Ihres Artikels]</title>  
    <script type="text/javascript">  
      
    var variable_1 = "eins";  
    var variable_2 = "zwei";  
    var variable_3 = "drei";  
      
    var bla = window["variable_3"];  
      
    alert(bla);  
      
    </script>  
    </head>  
    </html>  
    
    

    Hier ist noch ein Link:http://dcljs.de/faq/antwort.php?Antwort=forms_elementnamen
    Ist uzwar ein etwas anderes Problem aber mit dem gleichem Lösungsprinzip. (Und auch etwas besser erklärt ;-)

    Dementsprechend kannst Du jetzt Dein Schleifchen neu binden und es sollte klappen. Wenn nicht: einfach nochmal fragen.

    so short

    Christoph Zurnieden

  4. und die einfachste und sinnvollste Lösung, wäre wenn

    var map_1 = new Array('55','5','blabla');

    du hier ein array verwendest.

    var map = new Array();
    map[1] = new Array('55','5','blabla');

    Dann hättest du die Sorge los

    for(var x=1;x<50;x++)
       {
       var current_map_array = "map_" + x;
       var c_value = current_map_array[x]
       alert(c_value);
       }

    for( var x = 1; x < map.length; x++)
    {
        var current_map_array = map[x];
        var c_value = current_map_array[x]
        alert(c_value);
    }

    Struppi.