0

有没有办法在 for 循环中创建数组实例?

这是我的代码...

var recArrCon1:Array = new Array(50);
var recArrCon2:Array = new Array(50);
var recArrCon3:Array = new Array(50);
var recArrCon4:Array = new Array(50);
var recArrCon5:Array = new Array(50);
var recArrCon6:Array = new Array(50);
var recArrCon7:Array = new Array(50);
var recArrCon8:Array = new Array(50);

我想通过 for 循环以动态方式进行声明。提前致谢。

顺便说一句,我正在使用 AS3

编辑:答案是(来自 Barış Uşaklı):

var recArrCons:Object = {};
for(var i:int=1; i<=8; i++) 
{
    recArrCons["recArrCon" + i] = new Array(50);
}

trace(recArrCons.recArrCon4); // 4th array
4

2 回答 2

2

使包含此代码的类动态,然后您可以动态创建名称。

for(var i:int=1; i<=8; i++) 
{
    this["recArrCon" + i] = new Array(50);
}

trace(this.recArrCon4); // 4th array

或者您可以将它们存储在Objectlike 中:

var recArrCons:Object = {};
for(var i:int=1; i<=8; i++) 
{
    recArrCons["recArrCon" + i] = new Array(50);
}

trace(recArrCons.recArrCon4); // 4th array
于 2013-05-15T02:14:54.453 回答
0

我不会像你那样创建 Array 的实例,它非常混乱。我建议使用这样的数组列表:

var arrays:Vector.<Array> = new <Array>[];
for(var i = 0; i < 8; i++)
{
   arrays.push(new Array(50));
}

您将在哪里访问这样的数组:

var inner:Array = arrays[2];

数组的值使用[x][y]

trace(arrays[0][0]);
于 2013-05-15T02:33:37.330 回答