As3使用标签而不是数字来表示阵列位置?

时间:2012-07-24 11:57:46

标签: arrays actionscript-3 flash actionscript

有没有办法让数组由“标签”组成,所以我可以用它们的“名字”来引用它们?

所以通常当我想引用数组中的某个位置时,我会做类似的事情:

MyArray:Array = new Array( ["Marco", 26, "Portugal" ] );
trace(MyArray[2]);
Output: "Portugal"

我想使用位置具有不同名称的数组。所以我想成为:

MyArray:Array = new Array( ["Marco", 26, "Portugal" ] );
trace(MyArray[Country]);
Output: "Portugal"

我很确定数组的“标签”或“名称”不是要使用的适当术语,但我不知道正确的一个,所以请原谅我。它也可能是一个简单的问题,但我现在还不需要使用它。我正在构建一个“Area”数组,其中包含舞台上几个动画片段的位置,高度和宽度,所以我可以使用一些数组的简化来避免总是使用数字。

谢谢。

2 个答案:

答案 0 :(得分:4)

你可以使用Object类,这是在as3中使用关联数组的最简单方法:

var ob:Object = {
  name: "Marco",
  age: 26,
  country:"Portugal"
};

trace(ob.country);
//output: Portugal

我建议您在Adobe网站上查看此文章以获取更多信息:ActionScript 3 fundamentals: Associative arrays, maps, and dictionaries

答案 1 :(得分:0)

虽然,我看到你正在使用Array,但是没有办法为每个元素命名。

我建议你在AS3中使用“Map”数据结构。

var DC:Dictionary=new Dictionary;
DC["Country"] = "Portugal";
DC["name"] = "Marco";
...

希望这会对你有所帮助。