String zu Variablenname

  • Hallo,

    ich habe folgendes Problem:

    var D1 = "Problem";

    var Test = "D"+1;

    alert(Test);

    bzw.:

    var D1 = "Problem";

    alert("D"+1);


    Ich möchte gerne den Inhalt der Variable D1 ausgeben, jedoch wird immer nur "D1" ausgegeben.

    Ich würde mich über jede Hilfe freuen :D
    mfg.
    Nils

  • Ich habe in dem HTML Teil viele Elemente und möchte die Werte von diesen Ausgeben.

    Da die Namen D1U1,D1U2,D1U3 ... usw. sind hatte ich vor diese in einer for Schleife auszugeben:
    for(var i=1;i<4;i++){

    for(var j=1;j<8;j++){

    alert("D"+i+"U"+j);

    }

    }

    Es sind insgesamt 63 Werte nach diesem Schema

    D (geht von 1-3)

    U (geht von 1-7)
    DXUX


    (und sowas nur mit anderen Buchstaben noch 2x [DXAX])





    *Aber ich brauchte das generell, da ich jetzt auch damit alle Felder zurücksetzen kann ohne tausende Zeilen tippen zu müssen



    **Und danke für die schnelle und hilfreiche Antwort schon mal ^^

  • Verstehe. Dann empfehle ich, die Werte in einem ass. Array abzulegen:

    https://wiki.selfhtml.org/wiki…/Array#Assoziative_Arrays

    Dann so vorbesetzen:

    Code
    var arr = {};
    arr.D1U5 = 7;
    // oder
    arr['D1U5'] = 7;

    Dann kannst Du in der Schleife so darauf zugreifen:

    Code
    for(var i=1;i<4;i++){
        for(var j=1;j<8;j++){
            alert(arr["D"+i+"U"+j]);
        }
    }

    Und dein Problem ist gelöst.

  • Genau genommen ist es kein Array, sondern ein Objekt, wird aber in diesem Fall als ass. Array eingesetzt. Deshalb der Name arr aber die Initialisierung mit {}. Würde man ein "echtes" Array mit [] verwenden, wären die Zugriffe, wie ich sie beschrieben habe, so nicht möglich.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!