Flex : How to remove Duplicates from an Array
Tagged Under : Flex
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!
var foo = new Array("1", "2", "3", "4", "5", "6");
foo.splice(4);
//foo is now 1, 2, 3, 4
foo.splice(1,1);
//foo is now 1, 3, 4
foo.splice(1, 0, "blah")
//used splice to insert "blah" into foo.
//foo is now 1, blah, 3, 4
//Note the use of zero for the deleteCount