Удалить повторяющиеся значения из коллекции массивов в flex4

Это моя коллекция массивов

o = JSON.parse(event.result.toString());

jsonarray = new ArrayCollection(o as Array);

в этом массиве у меня есть повторяющиеся значения имени продукта, поэтому я хочу удалить дубликаты. Мой код здесь, он не работает, пожалуйста, дайте мне знать, я новичок в гибкости. Спасибо заранее.

function removeDuplicates(item:Object):Boolean 
{
    var returnValue:Boolean = false;
    if (!myObject.hasOwnProperty(item.ProductName))
    {
        myObject[item.ProductName] = item;
        returnValue = true;
    }
    prodArray.push(myObject);
    return returnValue;
}

person sahil garg    schedule 28.02.2017    source источник
comment
вар о:Объект; Пожалуйста, ответьте как можно скорее. это срочно   -  person sahil garg    schedule 28.02.2017
comment
Возможный дубликат Flash as3 Как удалить дубликаты в массив?   -  person Clintm    schedule 28.02.2017


Ответы (1)


Вызовите метод filterCollection, указанный ниже, и используйте функцию фильтра для удаления дубликатов.

private var tempObj:Object = {};

private function filterCollection():void {
    // assign the filter function
    jsonarray.filterFunction = removeDuplicates;
    //refresh the collection
    jsonarray.refresh();
}

private function removeDuplicates(item:Object):Boolean {
    return (tempObj.hasOwnProperty(item.ProductName) ? false : tempObj[item.ProductName] = item && true);
}
person Sumit    schedule 02.03.2017