6

動的変数名を取得しました

varname = "data" + newid + "['" + name + "']";

動的変数に値を割り当てたいのですが。私はこれを試しました

eval(varname) = value; 

しかし、それは機能しません。動的変数に値を割り当てるには、何をする必要がありますか?

4

2 に答える 2

8

evalは使用しないでください。動的変数は使用しないでください。

関連データの順序付けられていないグループがある場合は、それをオブジェクトに格納します。

var myData = {};
myData[ newid + name ] = value;

動的オブジェクトを扱っているように見えますが、

myData[ newid ] = myData[ newid ] || {};
myData[ newid ][ name ] = value;
于 2012-09-04T16:56:17.450 に答える
7
var data1 = { a: 200 };
var newid = 1;
var name = "a";

var varname = "data"+newid+"['"+name+"']";
var value = 3;
eval(varname + "=" + value); // change data1['a'] from 200 to 3

そうは言っても、eval悪です。動的変数を使用する必要があると本当に確信していますか?

于 2012-09-04T16:54:40.360 に答える