我有一个数组:
var type:Array = [[[1,2,3], [1,2,3],[1,2,3]],
[[1,2,3], [1,2,3],[1,2,3]]];
然后我循环它来调用一个函数:
for(var i:int = 0;i<type.length;i++) {
addGrid(type[0][i]);
}
我正在调用的函数是:
public function addGrid(col,row:int, type:Array) {
var newGird:GridE = new GirdE();
newGird.col = col;
newGird.row = row;
newGird.type = type;
}
希望清楚我需要什么。我的Gird可能很大,因为数组是针对Array样本的,Gird将是3(Columns)x2(Rows)
答案 0 :(得分:2)
通过循环行和列,可以使用多个数组索引引用ActionScript 3 multidimensional arrays。
根据您的数组结构,首先定义行,然后定义列。
这样可以查找单元格值:
grid[row][col]
迭代所有元素可以实现为:
private var grid:Array = [[[ 1, 2, 3 ], [ 1, 2, 3 ], [ 1, 2, 3 ]],
[[ 1, 2, 3 ], [ 1, 2, 3 ], [ 1, 2, 3 ]]];
public function loop()
{
// for every row...
for (var row:uint = 0; row < grid.length; row++)
{
// for every column...
for (var col:uint = 0; col < grid[row].length; col++)
{
// your value of "1, 2, 3" in that cell can be referenced as:
// grid[row][col][0] = 1
// grid[row][col][1] = 2
// grid[row][col][2] = 3
// to pass row, col, and the value array to addGrid function:
addGrid(row, col, grid[row][col]);
}
}
}
public function addGrid(row:int, col:int, value:Array):void
{
/* ... */
}