[Adobe Flex] filtrando um ArrayCollection : Distinct

quarta-feira, 20/01/2010 10:24 pm  

Esses dias tive a necessidade de implementar um algoritmo de filtro no Adobe Flex para filtrar um ArrayCollection para gerar um novo ArrayCollection de saída com elemento não repetidos “Distinct”, caso você precise de algo assim também, segue o código AS3:


?View Code ACTIONSCRIPT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private function filterDistinctValue(arr:ArrayCollection, field:String):ArrayCollection {
	if( arr == null || field == null || field.length == 0 ) {
		return null;
	}
 
	var arrOut:ArrayCollection = new ArrayCollection();
	var objAux:Object = {};
 
	for(var i:int = 0; i < arr.length; i++) {
		var key:String = arr[i][field]
		if( objAux[key] == null ) {
			objAux[key] = arr[i];
			arrOut.addItem( arr[i] );
		}
	}
	objAux = null;
 
	return arrOut;
}


Obs.: Esta função recebe 2 parâmetros, o ArrayCollection a ser filtrado, e qual o campo a ser considerado, leia-se atributo de um objeto que está alocado no ArrayCollection.

, , , , , ,

Veja também:

Este post foi escrito por:

Erko Bridee - que escreveu 364 post(s).


Entre em contato

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

1 Comentário para este post

  1. Rose:

    Me ajudou!
    Valeu