Я видел множество примеров того, как удалять дубликаты в ArrayCollection, но я не могу перенести это в XMLList.В большинстве примеров ArrayCollection пример сравнивает ключ массива с методом hasOwnProperty и возвращает значение bool.Это хорошо, но что бы я сравнил при использовании XMLList?Допустим, у меня есть:
<fx:XML id="testXML" xmlns="">
<universe>
<category cname="cat 1">
<item iname = "All"/>
<item iname = "item 1"/>
<item iname = "item 2"/>
</category>
<category cname="cat 2">
<item iname = "All"/>
<item iname = "item 3"/>
<item iname = "item 4"/>
</category>
</universe>
</fx:XML>
[actionscript]
var myList:XMLList = testXML..@iname;
даст два вхождения предмета "ALL".Я знаю, что мне, возможно, придется преобразовать XMLList в XMLListCollection, чтобы использовать функцию filterFunction (как бы я это сделал - или мне просто определить myList как XMLListCollection с самого начала).затем в функцию filterFunction:
private function remove Duplicate (item:Object): Boolean
{
here I don't know how to compare the item to tell me if the object already exist
or not. I guess I need to compare the item to a copy of the list and see if the
item has already been seen in the copy of the list. Or is there a clean way to
do this?
}
, затем все это передается в dropDownList:
<s:DropDownList id="myDDL" dataProvider="{myList}" />