这可能吗?例如,如果我有100个名为item1 ..... item100的项目,我可以使用循环将它们全部添加到数组中吗?沿着这些方向......但这显然不起作用:
for (var i:int = 1; i <= 100; i++)
{
myArray.push("label" + 1);
}
幸运的是我只有10件物品,所以我可以手动完成,但我只是好奇以备日后参考......
谢谢!
答案 0 :(得分:1)
array access operator将允许您按名称引用属性和对象,因此如果您有:
myArray.push(label1);
您可以改用:
myArray.push(this["label" + 1]);
答案 1 :(得分:1)
取决于你的意思是“项目”。
如果它们是当前类的属性,则使用:
for (var i:int = 1; i <= 100; i++)
{
myArray.push(this["label" + i]);
}
答案 2 :(得分:0)
您必须获取指向对象实例的链接才能将其推送到数组中,例如,如果文本字段的名称为label1
,label2
等,则可以使用以下代码:
for (var i:int = 1; i <= 100; i++)
{
myArray.push(labelsContainer.getChildByName("label" + i));
}
答案 3 :(得分:0)
即使对象的名称不遵循任何特定模式但它们必须位于“容器”内(您将容器中的所有对象添加到数组中),您也可以这样做:
for (var i:int = 0; i < containerName.numChildren; i++)
{
myArray.push(containerName.getChildAt(i);
}