从flex4中的arraycollection中删除重复值

时间:2017-02-28 09:35:42

标签: flex arraycollection filterfunction

这是我的arraycollection

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;
}

1 个答案:

答案 0 :(得分:0)

调用下面给出的filterCollection方法,并使用filterfunction删除重复项

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);
}