Apache flex 如何从Flex中基于对象的关联数组中删除所有值?

Apache flex 如何从Flex中基于对象的关联数组中删除所有值?,apache-flex,actionscript,flex3,Apache Flex,Actionscript,Flex3,除了迭代关联数组中的所有条目外,还有更快的方法吗 与-相关,我认为myArray=null应该删除整个组 更新 var i:int=-1; for(;myArray[++i];) { delete myArray[i]; myArray[i] = null; } 或 有几种解决方案可以清除关联数组(与动态对象相同): 最快的方法是分配一个新数组。在大多数情况下,这将是首选解决方案 myArray = []; 正在从阵列中删除所有键。它将具有与解决方案1相同的效果。但是,数组实例

除了迭代关联数组中的所有条目外,还有更快的方法吗


与-

相关,我认为
myArray=null
应该删除整个组

更新

var i:int=-1;
for(;myArray[++i];)
{
    delete myArray[i];
    myArray[i] = null;
}


有几种解决方案可以清除关联数组(与动态对象相同):

  • 最快的方法是分配一个新数组。在大多数情况下,这将是首选解决方案

  • myArray = [];
  • 正在从阵列中删除所有键。它将具有与解决方案1相同的效果。但是,数组实例保持不变

  • for (var key:String in myArray)
        delete myArray[key];
  • 将数组中的所有值设置为
    null
    。数组实例将保持不变,并且它的所有键都将保留。只有数组的值被设置为
    null

  • for (var key:String in myArray)
        myArray[key] = null;

    链接线程上发布的解决方案有什么问题?如果您知道用作关联数组键的属性,只需删除myArray[“myKey”]?啊,明白了,是的,如下所示,您只需将数组设置为null,然后重新实例化它,我相信GC将能够收集它,从我读到的内容来看,你可以强制gc进行收集,但通常最好不要这样做,而是通过设置为null来发出释放内存的信号。如果我想重用这个对象呢?赋值null意味着我必须创建一个新对象。我只想清除条目。是的,这就是我目前所做的,但我想知道是否有更好的方法
    myArray[r]=null不起作用。您必须使用
    删除myArray[r]否则索引将不会从数组中删除。感谢编辑您的答案。但是,如果我正确理解Nitin,他希望从数组中完全删除所有条目。因此,
    myArray[r]=null应省略。您当前正在删除并添加一个值为
    null
    的新条目。我认为您是对的。正如Nitin所说,他希望保留对象以供重用,因此将值设置为null应该可以,在这种情况下,我们不需要删除这些值。在另一种情况下,如果要完全删除所有内容,则必须删除整个阵列。我错了吗?
    for (var key:String in myArray)
        myArray[key] = null;