Arrays 如何访问2d数组中的单个变量Actionscript 3

Arrays 如何访问2d数组中的单个变量Actionscript 3,arrays,actionscript-3,Arrays,Actionscript 3,我正在尝试访问我的2d瓷砖阵列中的单个瓷砖 我是这样创建阵列的: private var map:Array = [[25,25]]; 我尝试了几种方法,包括: map[1][1] = 1; 所做的就是给我这个: ReferenceError: Error #1056: Cannot create property 1 on Number. 我也试过: map[[1,1]] = 1; 没有什么事情是我能说的 到目前为止,我唯一能让我得到一个不是错误的结果的方法是: map[1,1] =

我正在尝试访问我的2d瓷砖阵列中的单个瓷砖 我是这样创建阵列的:

private var map:Array = [[25,25]];
我尝试了几种方法,包括:

map[1][1] = 1;
所做的就是给我这个:

ReferenceError: Error #1056: Cannot create property 1 on Number.
我也试过:

map[[1,1]] = 1;
没有什么事情是我能说的

到目前为止,我唯一能让我得到一个不是错误的结果的方法是:

map[1,1] = 1;
这里的问题是选择整行。
任何帮助都将不胜感激。谢谢

这不是创建二维阵列的正确方法:

private var map:Array = [[25,25]];
此数组包含一个包含两个元素的数组。不能像这样寻址到第二个元素:

map[1][1] = 1;
因为
map
的第二个元素(数组)不存在

可以通过以下方式创建二维阵列:

var map:Array = [];
for (var i:int = 0; i < rows; i++)
{
    map[i] = [];// this line adds new row to the 2D array

    // To fill the array by zeros add next loop
    for (var j:int = 0; j < cols; j++)
    {
        map[i][j] = 0;
    }
}
var映射:数组=[];
对于(变量i:int=0;i
首先,我认为要获得问题中提到的错误,您的数组应该如下所示:

var map:Array = [
    [25, 25],     // map[0] = [25, 25] ( array of two elements )
    35            // map[1] = 35 ( just a simple number )
];
所以,如果你写:

trace(typeof map[1]);  // gives : number
map[1][1] = value; 
您将得到:
number
,这就是为什么您不能对:
map[1][1]=value并且出现
#1056
错误是正常的

在这里,我不知道您的意思是将值
1
分配给
map[0]
的第二个
25
,还是您真的想添加或编辑
map[1][1]
,在第一种情况下,您可以简单地编写:

map[0][1] = 1;    // gives : map[0] = [25, 1]
在第二种情况下,您可以执行以下操作:

map[1] = [any_other_value, 1];  // gives : map[1] = [any_other_value, 1]
最后一句话,忘记您得到了一个错误,并假设您的
map
数组只是:

var map:Array = [
    [25, 25]
];
在这里,您也不能写入
map[1][1]=value,为什么?让我们使用相同的方法:

trace(map[1]);   // gives : undefined
因此,请确保不能将属性添加到未定义的
中,这就是为什么在编写时:

trace(typeof map[1]);  // gives : number
map[1][1] = value; 
您将得到一个
#1010
错误:“undefined没有属性。”

当然在这里,我们应该首先创建
map[1]

map[1] = [];   // or directly map[1] = [any_other_value, value]
然后:

map[1][1] = value;

希望这能有所帮助。

除此之外,您在此处显示的代码永远不会出现此错误。。。你知道数组索引是从零开始的吗?嗯,我得到了那个错误…我不太确定你的第二句话,如果你的意思是它们从0开始,那么我知道。。。这些只是我试图得到我想要的工作的例子