我有一个javascript对象 -
cell{xPos, yPos};
我想创建一个这个对象的二维数组。
cellPrototype = function(x, y) {
this.xPos = x;
this.yPos = y;
}
var cell = new Array();
for(var i=0;i<10;i++)
{
cell[i] = new Array();
for(var j=0;j<10;j++)
{
cell[i][j] = new cellPrototype(i,j);
}
}
此代码不起作用。 也没有 -
var cellPrototype = function(x, y) {
return {
xPos : x;
yPos : y;
}
var cell = new Array();
for(var i=0;i<10;i++)
{
cell[i] = new Array();
for(var j=0;j<10;j++)
{
cell[i][j] = new cellPrototype(i,j);
}
}
那么如何在javascript中创建一个对象的二维数组呢?
答案 0 :(得分:5)
这对我来说很好,我不确定这是否正是你要找的输出,在哪里
Array[x][y]
将引用带有x, y
点数的对象。
var Coords = function(x, y) {
return {
"x" : x,
"y" : y
};
};
var Main = [];
for (var i = 0, l = 10; i < l; i++) {
Main[i] = [];
for (var j = 0, l2 = 10; j < l2; j++) {
Main[i][j] = Coords(i, j);
}
}
答案 1 :(得分:2)
你可以像这样制作一个二维数组:
var new_array = [];
var arr_length = 10;
for(var i = 0; i < arr_length; ++i){
new_array[i] = [];
}
答案 2 :(得分:0)
制作一个空数组并将子数组推到它上面
var array = [];
array.push([1,2,3,4]);
//array[0][0] == 1
或一次性完成
var array = [[1,2,3,4], [1,2,3,4], [1,2,3,4]];
答案 3 :(得分:0)
这篇文章有点陈旧,但这是另一种创建2D数组的方法
var arr1=[];
var x=['a','b','c','d'];
var y=[1,2,3,4];
for( var i in x){
arr1.push([x[i],y[i]]); //For x and y of the same length
}
在JavaScript中,x和y可以是对象数组