1

在我的应用程序中,我想要一个字典,其中键是整数。

因为它是一个整数,所以我使用 normal Array

var arr : Array = [];
arr[5] =  anObject;
arr[82] =  anOtherObject;

当我用 迭代时for each,没问题,它会遍历这两个对象。问题是arr.length返回 83 ......所以我必须创建一个变量来计算我修改数组时的数字。

问题1:是否有最佳实践(IE:以int为键的关联数组)?我犹豫要不要使用字典。

问题 2:闪存是否为阵列中未使用的存储桶分配内存?

4

1 回答 1

3

Flash 中的数组是稀疏的(与 Vector 不同),因此不会分配空条目。如果您需要知道长度,您可能需要手动跟踪它(也许制作一个包装类)。

Adobe 说:

数组是稀疏数组,这意味着在索引 0 处可能有一个元素,在索引 5 处可能有另一个元素,但在这两个元素之间的索引位置中没有任何内容。在这种情况下,位置 1 到 4 中的元素是未定义的,这表示不存在元素,不一定存在值为 undefined 的元素。

于 2012-07-04T08:39:29.370 回答