0

这可能吗?例如,如果我有 100 个名为 item1.....item100 的项目,我可以使用循环将它们全部添加到数组中吗?这些方面的东西......但这显然不起作用:

for (var i:int = 1; i <= 100; i++)
{
     myArray.push("label" + 1);
}

幸运的是我只有 10 个项目,所以我可以手动完成,但我只是好奇以备将来参考......

谢谢!

4

4 回答 4

1

数组访问运算符将允许您按名称引用属性和对象,所以如果您有:

myArray.push(label1);

您可以改用它:

myArray.push(this["label" + 1]);
于 2013-01-23T00:18:43.103 回答
1

取决于您所说的“项目”。

如果它们是当前类的属性,请使用:

for (var i:int = 1; i <= 100; i++)
{
    myArray.push(this["label" + i]);
}
于 2013-01-23T11:43:49.270 回答
0

您必须获取到对象实例的链接才能将其推送到数组中,例如,如果您的文本字段的名称是label1,label2等,您可以使用以下代码:

for (var i:int = 1; i <= 100; i++)
{
     myArray.push(labelsContainer.getChildByName("label" + i));
}
于 2013-01-21T14:51:29.187 回答
0

即使对象的名称不遵循任何特定模式,您也可以这样做,但它们必须位于“容器”内(您会将容器中的所有对象添加到数组中):

for (var i:int = 0; i < containerName.numChildren; i++)
{
    myArray.push(containerName.getChildAt(i);
}
于 2013-01-21T15:10:37.297 回答