Friedel: Javasript: String als Variablennname

Hallo

Ich stehe mal wieder auf der Leitung. Ich habe mehrere Variablen mit Werten. Als Beispiel:

var Variable1=1;
var Merker1=2;
var Hilfveriable1="a";
var Hilfveriable2="kjl";
var Faktor=1000; 

Außerdem habe ich eine Funktion, die einen String erzeugt und in einer weiteren Variablen speichert. z.B.

Ergebnis="Hilfveriable1";

Diese Strings entsprechen immer vorhandenen Variablennamen.

Wie kann ich jetzt erreichen, dass der Wert "a" von Hilfveriable1 in Ergebnis2 gespeichert wird?

Ich habe diverse Sackgassen schon durchdacht und ausprobiert, aber bisher leider ohne Erfolg.

  1. Tach!

    Ich stehe mal wieder auf der Leitung. Ich habe mehrere Variablen mit Werten. Als Beispiel:

    var Variable1=1;
    var Merker1=2;
    var Hilfveriable1="a";
    var Hilfveriable2="kjl";
    var Faktor=1000; 
    

    Außerdem habe ich eine Funktion, die einen String erzeugt und in einer weiteren Variablen speichert. z.B.

    Ergebnis="Hilfveriable1";
    

    Wenn eine Funktion einen String erzeugt, sollte der als Rückgabewert zurückgegeben werden und nicht einfach so in den Speicher geworfen werden. Solche beim Aufruf der Funktion nicht sichtbaren Nebenwirkungen machen einem nur das Leben schwer.

    Wie kann ich jetzt erreichen, dass der Wert "a" von Hilfveriable1 in Ergebnis2 gespeichert wird?

    Eine einfache Zuweisung geht nicht?

    Ergebnis2 = Hilfveriable1;
    

    Wenn du allerdings meinst, den Namen der Variable als String vorliegen zu haben, dann wäre es vielleicht besser, das eigentliche Problem vorzustellen, damit dafür eine bessere Lösung als Variablennamen in Strings gefunden werden kann.

    dedlfix.

  2. Hi,

    Ich stehe mal wieder auf der Leitung. Ich habe mehrere Variablen mit Werten. Als Beispiel:

    var Variable1=1;
    var Merker1=2;
    var Hilfveriable1="a";
    var Hilfveriable2="kjl";
    var Faktor=1000; 
    

    dann schon hier der Hinweis: Scheinbar globale Variablen sind in Javascript in Wirklichkeit Eigenschaften des window-Objekts. Eine globale Variable foo kann also auch als window['foo'] angesprochen werden.

    Außerdem habe ich eine Funktion, die einen String erzeugt und in einer weiteren Variablen speichert. z.B.

    Ergebnis="Hilfveriable1";
    

    Das sieht eher so aus, als ob die Funktion den Namen einer Variablen liefert.

    Wie kann ich jetzt erreichen, dass der Wert "a" von Hilfveriable1 in Ergebnis2 gespeichert wird?

    Ergebnis2 = window[Ergebnis];

    Ich habe allerdings den Eindruck, dass du deine Datenstruktur wesentlich schlauer organisieren könntest, wenn du etwas genauer beschreibst, wie die Dinge zusammenhängen.

    So long,
     Martin

    --
    Ein Tag, an dem du nicht wenigstens einmal gelacht hast, ist ein verlorener Tag.