AS3 - 保持稀疏阵列稀疏

时间:2009-07-01 01:27:08

标签: actionscript-3 arrays indexing

我正在使用AS3中的数组,默认情况下它是稀疏的。我创建一个数组并在给定位置添加一个值。我在该索引处使其内容无效。它保留该索引值,但使内容无效。问题是长度仍然跟踪相同。有没有办法实际删除该索引而不修改任何其他索引?

ex: 
array:Array = new Array();
array[ 7 ] = new Array();
array[ 16 ] = new Array();
array[ 16 ] = null;

编辑:我希望数组中的数组尽可能小,以便在上面的示例中,数组将跟踪长度为7。

2 个答案:

答案 0 :(得分:1)

使用delete operator ...仍然,长度将保持8 ...将密钥7的值设置为null仍然意味着,有一个值密钥7,因为Array可能包含任何值,包括null。如果你真的使用稀疏数组,那么考虑使用flash.utils::Dictionary ...如果关键顺序很重要,那么请查看flash.utils::Proxy ...或制作一些不使用数组访问的数据结构,但有一些而是getValsetVal方法......

格尔茨

back2dos

答案 1 :(得分:0)

试试这个

array.splice(7,1)

splice()