Chris R
Chris R

Reputation: 17916

How do I delete a value from an Object-based associative array in Flex 3?

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

Answers (2)

quoo
quoo

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

Josh Buhler
Josh Buhler

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

Related Questions