我需要删除与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.
如何执行此操作?
答案 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;
这样它最终会与未定义的数组中的任何其他值相同。