我怀疑我在基本的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],但这不是我想要的。我需要的是能够在循环内命名变量,使用索引作为变量名称的一部分。
答案 0 :(得分:5)
如果要设置数组的元素,请使用[]
语法:
var my_array = new Array(10);
for (var count=0; count<my_array.length; count++) {
my_array[count] = "This is a variable number "+count+".";
document.write( my_array[count] );
}
此外,当仅指定数组的元素而不是数组本身时,请将var
放在它前面!
答案 1 :(得分:2)
在循环中命名变量的正确方法是什么?你没有。
如果您只想要一个变量来保存该特定值,只需使用普通变量即可。如果您需要许多不同的值,请将其粘贴到数组或对象中。但是由于你已经拥有一个数组,所以这里很多,所以我真的不确定你想要实现的目标。
答案 2 :(得分:2)
这种模式有问题,数组似乎没必要;但是,这是一种方法:
var my_array = new Array(10);
for (var count = 0; count < my_array.length; count++) {
window['my_array' + count] = "This is a variable number " + count + ".";
document.write(window['my_array' + count]);
}
答案 3 :(得分: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()
。
答案 4 :(得分:0)
你应该使用数组。
var myarray = new Array();
myarray[0] = "1";
myarray[1] = "2";
myarray[2] = "3";
答案 5 :(得分:0)
你正在循环中重新定义my_array,而不是正确访问变量。尝试:
var my_array = new Array(10);
for (var count=0; count<my_array.length; count++) {
my_array[count] = "This is a variable number "+count+".";
console.log(my_array[count]);
}
答案 6 :(得分: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]);
};
答案 7 :(得分: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);