Flex : How to remove Duplicates from an Array

Tagged Under :

If you have an Array and you want to get rid of duplicates from the array, here is a little function you can use to achieve the same.

private function removeDuplicates(arr:Array):Array
{
var currentValue:String = "";
var tempArray:Array = new Array();
arr.sort(Array.CASEINSENSITIVE);
arr.forEach(
function(item:*, index:uint, array:Array):void {
if (currentValue != item) {
tempArray.push(item);
currentValue= item;
}
}
);
return tempArray.sort(Array.CASEINSENSITIVE);
}

Basically, all its doing is making use of the forEach function built in Flex that runs a custom function for every item in the Array. This function then sorts the data alphabetically, checks each value with the previous value and if they are not same, adds the unique element to the new tempArray and thats what gets returned.

Might be useful for some I guess!

Comments:

3 Responses to “Flex : How to remove Duplicates from an Array”


  1. var arr:Array = [1,3,2,22,1,4,5,6,4,3,5,6,2,3,4,1,4,6,4,10,3,10,"a","a"];
    trace( arr.filter(function(e:*, i:int, a:Array):Boolean {return a.indexOf(e) == i;}) );


  2. Its exactly what i m googling for.
    Thanks a lot


  3. I’ve just trashed my filter class after seen your function… simple and effective!

    Thanks for sharing!

Leave a Reply