Ines: variablen dynamisch ansprechen

Hallo,

ich möchte einen per Zufall ausgewählten Text (vorher in einer Variablen festgelegt) am Bildschirm ausgeben lassen, stolpere aber über die dynamische Generation des Variablennamens. Weiß jemand rat? Kann weder im Archiv noch in self-html selbst etwas passendes finden.

var a=Math.random()*2;
a=Math.round(a);
var a = String(a)

var text0 = "Ausgabe_Blah_null"
var text1 = "Ausgabe_Blah_eins"
var text2 = "Ausgabe_Blah_zwei"

document.write('text' + a);

--> so spielt es nicht, da gibt der browser halt wirklich "text0","text1" oder "text2" aus, aber nicht den inhalt der gleichnamigen variablen.

Über Vorschläge zum Problem wäre ich sehr dankbar.

Grüße
Ines

  1. Hallo Ines,

    ich möchte einen per Zufall ausgewählten Text (vorher in einer Variablen festgelegt) am Bildschirm ausgeben lassen, stolpere aber über die dynamische Generation des Variablennamens. Weiß jemand rat? Kann weder im Archiv noch in self-html selbst etwas passendes finden.

    Ich würde die Texte nicht in in massig Variablen sondern in ein Array packen:
    http://selfhtml.teamone.de/javascript/objekte/array.htm

    Dann kannst Du über die zufällig generierte Indexnummer direkt eine Arraystelle ansprechen:

    Beispiel:

    var a=Math.random()*2;
    a=Math.round(a);
    var a = String(a) // Ist das notwendig? Weiß ich gerade nicht.

    texte = new Array(Anzahl)

    Texte[0] = "Ausgabe_Blah_null"
    Texte[1] = "Ausgabe_Blah_eins"
    Texte[2] = "Ausgabe_Blah_zwei"

    document.write(Texte[a]);

    Voila!

    Gruß,
     Tim

    1. Vielen Dank!

      Da wäre ich im Leben nie drauf gekommen (bin halt Anfänger). Wieder was gelernt ...

      Danke noch mal und machts gut...

      grüße
      ines

  2. Hi!

    Verwende entweder ein Array
    text[0], text[1] usw.
    oder nimme eval()
    eval('document.write('text'+a+'')');

    mfG
    brand