使用循环javascript的多变量声明

时间:2011-09-09 20:19:07

标签: javascript arrays variables object

我试图创建一个包含3个固定字段的数组 所以,像

var x0 = new Array(x,y,z);

现在可能有多个像x []的数组,它们具有不同的值 像

这样的东西
   var x1 = new Array(x,y,z); x2 = new Array(x,y,z);

我会将值传递给变量x,y,z,如x0 [0] =“test”,x0 [1] =“another”,...
我需要创建一个可变数量的这样的数组,所以如果我传递一个值10,它应该为我创建10个不同的数组。如何做到这一点,是否允许使用循环来创建变量?

有一种称为多维数组的东西,但我不知道如何使用它。我试过,但显然它是非常不同的,我不明白。 此外,我想到声明一个对象,并将值传递给它的参数,并根据需要创建对象。这可能吗?哪种方法会更好?

还有其他办法吗?也许是最有效的东西?

3 个答案:

答案 0 :(得分:2)

只需创建一个数组数组:

var myArrays = [];

for(var i=0;i<something;i++){
    myArrays.push([x,y,z]);
}

然后,您将拥有x0[0]而不是x[0][0]

请注意,您不应使用new Array,而应使用[]

答案 1 :(得分:1)

你的意思是

var x  =[];
x[0]=["x","y","z"];
x[1]=["x","y","z"];
x[2]=["x","y","z"];

function addArr(arr,newarr) {
  arr[arr.length]=newarr; // or arr.push(newarr);
}
var x  =[];
for (var i=0;i<10;i++) {
  addArr(x,[i,i+1,i+2]);
}

答案 2 :(得分:1)

var n = 100; // number of x-arrays (x0, x1, ...)
var allX = new Array(n); // array of length n

for (var i=0; i<n; i++){
   allX[i] = [x,y,z]; // array with elements x, y, z
}

现在你可以访问例如第二个数组(x1)如:

var x1 = allX[1];

或第三个数组的第三个元素(x2[2]),如:

var z = allX[2][2];

修改:有关new Array()[]

之间数组声明的差异,请参阅this explanation
相关问题