[英]trouble filling bidimensional Array with objects in JavaScript
我已经将此数组置于“全局”位置(在我的文档中的每个函数中)。
var arrayBidimensional;
然后,我试图像这样填充它:
var objetoLetra = new objectLetter("","","","","");
arrayBidimensional=new Array(tamano);
for (i=0; i <tamano; i++)
arrayBidimensional[i]=new Array(tamano);
var random = Math.floor((Math.random()*26)+0);
for (var i = tamano - 1; i >= 0; i--)
{
for (var j = tamano - 1; j >= 0; j--)
{
random = Math.floor((Math.random()*26)+0);
objetoLetra.letra = letras[random];
objetoLetra.letraposx = j;
objetoLetra.letraposy = i;
objetoLetra.formapalabra = "no";
objetoLetra.iden = j+""+i;
arrayBidimensional[i][j] = objetoLetra;
}
}
因此,当我尝试在某个位置(例如array[X][X]
到达此数组时
我所拥有的只是第一位置。 示例:如果第一个位置(即0,0)是“ A”,则整个数组在每个位置上都将获得“ A”,即使它是[(max position),(max position)]。
我怎么看??好吧,我正在用td-s构建一个表,如下所示:
'<td width="30">'+arrayBidimensional[i][j].letra+'</td>'
然后,整个表格在每个单元格中都只是很多“ A” ...那么...我在做什么错呢?
谢谢,麻烦您了!
这是JavaScript中的多维数组的外观:
var multi = [['String', 0, 'something else'],['another String', 42, 'whatever']];
要么
var multi = new Array(new Array('String', 0, 'something else'), new Array('another String', 42, 'whatever'));
console.log(multi[1][2]); // 'whatever'
console.log(multi[0][1]); // 0
您需要为数组中的每个位置创建一个新的objectLetter
:
arrayBidimensional = new Array(tamano);
for (i=0; i < tamano; i++) {
arrayBidimensional[i] = new Array(tamano);
}
for (var i = tamano - 1; i >= 0; i--)
{
for (var j = tamano - 1; j >= 0; j--)
{
var objetoLetra = new objectLetter("","","","","");
var random = Math.floor((Math.random()*26)+0);
objetoLetra.letra = letras[random];
objetoLetra.letraposx = j;
objetoLetra.letraposy = i;
objetoLetra.formapalabra = "no";
objetoLetra.iden = j+""+i;
arrayBidimensional[i][j] = objetoLetra;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.