0

配列変数の値を for ループで新しい変数名として使用することは可能ですか?

for (var i = 0; i < array.length; i++) {
    // we all know this is possible:
    blabla[i] = apple;
    // but I'm wondering if there's a way we can achieve this:
    example(someVar);
}

function example(name) {
   // [name] = banana;
   name = banana;
}

明らかに、上記のスニペットでこれを行っている方法では、値bananaは常に variable に割り当てられますname。よくわかりませんが、どうすればこれに取り組むことができますか?

4

2 に答える 2

2

変数は、グローバル オブジェクト (ブラウザの場合: window) またはその他のオブジェクトのプロパティです。したがって、次のことができます。

for (var i = 0; i < array.length; i++) {
   window[array[i]] = '[something]';
}

また

var someObj = {};
for (var i = 0; i < array.length; i++) {
   someObj[array[i]] = '[something]';
}
于 2013-06-24T06:30:13.380 に答える
0
function myVar(val) {
this.value=val;
}

var array=new Array( new myVar(1),new myVar(2),new myVar(3));

for (var i = 0; i < array.length; i++) {
    example(array[i]);
    alert(array[i].value); // now they are 0,0,0
}

function example(name) {
   name.value = 0;
}
于 2013-06-24T06:48:00.607 に答える