2017-02-28 7 views
-1

Ceci est mon ArrayCollectionSupprimer les valeurs en double de ArrayCollection dans Flex4

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

jsonarray = new ArrayCollection(o as Array); 

dans ce tableau j'ai des valeurs en double du nom du produit, donc je souhaite retirer duplicacy. \ mon code est ici, sa ne fonctionne pas s'il vous plaît faites le moi savoir, je suis un débutant flexible. merci à l'avance.

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

var o: Object; S'il vous plait répondez au plus vite. son urgent –

+0

duplication possible de [Flash as3 Comment puis-je supprimer les doublons dans un tableau?] (http://stackoverflow.com/questions/5997822/flash-as3-how-do-i-remove-duplicates-in-an- tableau) – Clintm

Répondre

0

Appelez la méthode filterCollection ci-dessous et qui utilisent le filterFunction pour supprimer les doublons

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