从Flex4中的ArrayCollection中删除重复值4



这是我的arraycollection

o = JSON.parse(event.result.toString());
jsonarray = new ArrayCollection(o as Array);

在此数组中,我有一个重复的产品名称值,所以我想删除重复。我的代码在这里,它不起作用,请让我知道,我是一个Flex初学者。提前。

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

呼叫下面给出的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);
}

最新更新