JavaScript Variablen-Namen zusammenfügen
Guten Tag Gutefrage-Community,
ich habe ein kleines Problem, habe auch schon bei Google dannach gesucht, allerding nichts ordentliches gefunden.
Und zwar möchte ich ein Variable-namen mit dem Inhalt einer anderen Variable verbinden.
Ich habe eine Variable in der eine Nummer steht:
var img_no = "1";
und möchte diese Nummer an den Namen einer anderen Variable hängen.
var text_[img_no] = "hier text eingeben";
Somit soll quasi
var text_1 = "hier text eingeben";
erzeugt werden.
Vielen Dank schonmal
Infinity
2 Antworten
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Löse das doch mit Arrays... So 'variable Variables' gibts in JS in dem Sinne nicht wirklich.
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Man KANN'S so lösen, sollte man aber nicht..
http://stackoverflow.com/questions/5117127/use-dynamic-variable-names-in-javascript![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
Ich habe es bisher so probiert:
var img_no = "1";
var text_[img_no] = "hier text einfügen";
var status_[img_no] = "1";
var height_[img_no] = "40";
allerdings funktioniert dadurch mein javascript nicht mehr mit dem Fehler
SyntaxError: missing ; before statement
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
Vielleicht sind die Variablen doch so fürchterlich variabel?
Ich würd's mal mit
eval('var text_' + img_no + ';');
eval('text_' + img_no + ' = "' + einzugebenderText + '";');
variableRausholen = eval('text_' + img_no);
probieren - das ist ähnlich dem erwähnten Vorschlag von stackoverflow.
Meine Warnung von https://www.gutefrage.net/frage/java-variable-im-objektnamen?foundIn=answer-listing#answer-160147219 gilt natürlich auch hier.
Soweit ich weiß, erweitern sich Arrays in JavaScript/ECMAScript bei Bedarf automatisch, sodass derartige Klimmzüge völlig überflüssig sind.
![](https://images.gutefrage.net/media/user/RakonDark/1552185525294_nmmslarge__0_0_160_160_7f828fad18ee7edb96b8daceedaeeadb.png?v=1552185525000)
Die Lösung ist falsch Die du dir da ausdenkst. Warum soll eine variable zur Laufzeit mit variablen Namen erzeugt werfen. Die sprache brauch sowas nicht. Das löst man schlicht anders.