Hur man ställer in värdena för ett Javascript-objekt dynamiskt?
Det är svårt att förklara fallet med ord, låt mig ge ett exempel:
var myObj = {
'name': 'Umut',
'age' : 34
};
var prop = 'name';
var value = 'Onur';
myObj[name] = value; // This does not work
eval('myObj.' + name) = value; //Bad coding ;)
Hur kan jag sätta en variabel egenskap med variabelt värde i ett JavaScript-objekt?
Svar #1
myObj[prop] = value;
Det borde fungera. Du blandade ihop namnet på variabeln och dess värde. Men att indexera ett objekt med strängar för att komma åt dess egenskaper fungerar fint i JavaScript.
Svar #2
myObj.name=value
eller
myObj['name']=value (Quotes are required)
Båda dessa är utbytbara.
Redigera: Jag antar att du menade myObj[prop]=value, istället för myObj[name]=value. Andra syntaxen fungerar bra: http://jsfiddle.net/waitinforatrain/dNjvb/1/
