Как удалить значение из ассоциативного массива на основе объектов в Flex 3? - PullRequest
6 голосов
/ 20 июля 2009

Мне нужно удалить значение, связанное со свойством в ассоциативном массиве 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 ]

11 голосов
/ 20 июля 2009

удаление не делает так много в 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()];
0 голосов
/ 20 июля 2009

Вместо того, чтобы удалить его, попробуйте установить значение на ноль.

myArray[someXML.@attribute] = null;

Таким образом, оно будет таким же, как и любое другое значение в массиве, который не определен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...