0

基本的な JavaScript 構文を間違えているのではないかと思います。

var my_array = new Array(10);

for (var count=0; count<my_array.length; count++) {
var my_array+count = "This is a variable number "+count+".";
document.write(my_array+count);
}

my_array0、my_array1、my_array2などと呼ばれる一連の変数を作成するループが必要です。上記のコードは私がそれをやろうとした方法ですが、うまくいきません。ループ内で変数に名前を付ける正しい方法は何ですか?

編集: my_array[count] を使用できることはわかっていますが、それは私が探しているものではありません。必要なのは、変数の名前の一部としてインデックスを使用して、ループ内で変数に名前を付けられるようにすることです。

4

8 に答える 8

1

以前の回答がどれもあなたに合わない場合は、いつでも使用できますeval()

var varName = 'my_array'
for (var count=0; count<my_array.length; count++) {
  eval(varName+count +" = This is a variable number "+count+".");
}

編集: @Noah Freitas は、を使用せずに、より良い答えを提供しますeval()

于 2013-05-30T14:45:30.273 に答える
0

代入演算子 ( )の左側では実行できません。代入のみが可能です。実行、javascript では、右側で行われます。=

var my_array = new Array(10);
var var_hashmap = {}; // create a new object to hold our variables.

for (var count = 0; count < my_array.length; count++) {
    var key = "my_array" + count;
    var value = "This is a variable number " + count + ".";
    var_hashmap[key] = value;
    document.write(var_hashmap[key]);
};
于 2013-05-30T14:43:15.790 に答える
0
var my_array = new Array(10);

for (var count=0; count<my_array.length; count++)
{
    eval("var my_array" + count + " = 'This is a variable number'+count+' and the variable name is my_array'+count");

}

alert(my_array0);
alert(my_array1);
alert(my_array2);
alert(my_array3);
alert(my_array4);
alert(my_array5);
alert(my_array6);
alert(my_array7);
alert(my_array8);
alert(my_array9);

http://jsfiddle.net/pe97W/4/

于 2013-05-30T14:43:37.587 に答える