繁体   English   中英

使用JavaScript中的对象填充二维数组时遇到问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM