我对数组感到疯狂,所以我需要你的帮助:
我创建了几个嵌套数组:
private var mainArray:Array=[arrayOne,arrayTwo,arrayThree];
private var arrayOne=[item1,item2,item3];
private var arrayTwo=[item4,item5,item6];
private var arrayThree=[item7,item8,item9];
首先,当我尝试例如:trace(mainArray[2][0])
Flash Builder的输出是:undefined或null(而不是item7)。
其次,我无法找到任何行/列位置(显然......因为每个对象似乎都是未定义的):
private function findPosition(row:int,col:int)
{
for(var row:int=0;row<=mainArray.length;row++)
{
for(var col:int=0;col<=mainArray[row].length;col++
{
trace(row,col,mainArray[row][col]);
}
}
}
它总是会让我产生某种错误(我试过许多自制的解决方案和谷歌搜索)。
我需要找到每一行/ col位置并根据它放置艺术品,我正在创建一个瓷砖地图,这对我来说可能是最简单的方式(初学者)。
感谢所有可能的解决方案。
答案 0 :(得分:2)
您在创建其他阵列之前尝试填充mainArray。 将第1行向下移动到第4行。
private var arrayOne:Array = [item1,item2,item3];
private var arrayTwo:Array = [item4,item5,item6];
private var arrayThree:Array = [item7,item8,item9];
private var mainArray:Array = [arrayOne,arrayTwo,arrayThree];
答案 1 :(得分:0)
你可以创建一个全内联的二维数组
private var mainArray:Array= [
[item1,item2,item3],
[item4,item5,item6],
[item7,item8,item9]
];
或
private var mainArray:Array = new Array();
然后在方法中添加子数组
mainArray.push([item1,item2,item3]);
mainArray.push([item4,item5,item6]);
mainArray.push([item7,item8,item9]);