0

我有一个数组:

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;
}

希望清楚我需要什么。我的网格可能很大,因为这里的数组样本的数组是 3(Columns)x2(Rows)

4

1 回答 1

2

ActionScript 3多维数组可以通过循环行和列来使用多个数组索引来引用。

根据您的数组结构,您首先定义行,然后定义列。

这将查找单元格值:

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
{
    /* ... */
}
于 2012-10-25T15:58:17.323 回答