我试图创建一个包含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个不同的数组。如何做到这一点,是否允许使用循环来创建变量?
有一种称为多维数组的东西,但我不知道如何使用它。我试过,但显然它是非常不同的,我不明白。 此外,我想到声明一个对象,并将值传递给它的参数,并根据需要创建对象。这可能吗?哪种方法会更好?
还有其他办法吗?也许是最有效的东西?
答案 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()
和[]