Reputation: 17916
I need to remove the value associated with a property in a Flex 3 associative array; is this possible?
For example, suppose I created this array like so:
var myArray:Object = new Object();
myArray[someXML.@attribute] = "foo";
Later, I need to do something like this:
delete myArray[someXML.@attribute];
However, I get this error message at runtime:
Error #1119: Delete operator is not supported with operand of type XMLList.
How do I perform this operation?
Upvotes: 6
Views: 10241
Reputation: 6307
delete doesn't do as much in AS3 as it did in AS2:
http://www.gskinner.com/blog/archives/2006/06/understanding_t.html
However, I think your problem might be solved by simply using toString(), i.e.
var myArray:Object = new Object();
myArray[[email protected]()] = "foo";
delete myArray[[email protected]()];
Upvotes: 11
Reputation: 27678
Rather than delete it, try setting the value to null.
myArray[someXML.@attribute] = null;
That way it'll end up the same as any other value in the array that isn't defined.
Upvotes: -1