如何从Flex 3中的基于对象的关联数组中删除值?

时间:2009-07-20 19:23:03

标签: flex actionscript-3

我需要删除与Flex 3关联数组中的属性关联的值;这有可能吗?

例如,假设我创建了这样的数组:

var myArray:Object = new Object();
myArray[someXML.@attribute] = "foo";

稍后,我需要做这样的事情:

delete myArray[someXML.@attribute];

但是,我在运行时收到此错误消息:

Error #1119: Delete operator is not supported with operand of type XMLList.

如何执行此操作?

2 个答案:

答案 0 :(得分:11)

删除在AS3中的效果不如在AS2中那么多:

http://www.gskinner.com/blog/archives/2006/06/understanding_t.html

但是,我认为你的问题可以通过简单地使用toString()来解决,即

var myArray:Object = new Object();
myArray[someXML.@attribute.toString()] = "foo";

delete myArray[someXML.@attribute.toString()];

答案 1 :(得分:-1)

尝试将值设置为null,而不是删除它。

myArray[someXML.@attribute] = null;

这样它最终会与未定义的数组中的任何其他值相同。