ActionScript中对象中的项目顺序

时间:2009-12-22 22:52:55

标签: flash actionscript-3 loops

尝试编译:

var object:Object = {};

object.one = "foo";
object.two = "foo";
object.three = "foo";
object.four = "foo";

for(var key:String in object)
{
    trace(key);
}

......你会得到:

one
four
two
three

为什么搞砸了订单?

3 个答案:

答案 0 :(得分:2)

AS3中的对象可以看作是哈希表,其中字段名称是键。所以你不能依赖创建顺序在循环遍历字段时获得相同的顺序,顺序将取决于用于散列字段名称的算法。

答案 1 :(得分:1)

未订购对象的键。如果您需要保留订单并进行查找,则需要创建一个提供该功能的自定义集合。

答案 2 :(得分:0)

什么“搞砸了”命令?

对象上的属性没有顺序。 for...in可以按照自己喜欢的顺序迭代它们。