Tamaño de fuente: +

Eliminar entradas duplicadas en una matriz o Array - AS3

En ocasiones, se tiene una matriz o Array en Flash que contiene valores duplicados y se requiere que ese Array tenga valores únicos... ¿Cómo se puede hacer?

A continuación escribo un ejemplo aunque siempre existen muchos caminos para encontrar una misma solución, uno que a mi se me ocurre es de la siguiente forma:

function eliminarDuplicado(arr: Array): Array {
	// Creamos un new Dictionary y ponemos cada entrada dentro del diccionario como llaves (keys)
	var hashMap: Dictionary = new Dictionary();
	
	for each(var thisPerson: * in arr) {
		// Todas los valores de entradas duplicadas serán sobreescritos
		hashMap[thisPerson] = true;
	}
	// Convertimos la variable hashmap devuelta a la matriz
	arr = [];
	for (var thisKey: * in hashMap) {
		arr.push(thisKey);
	}
	
	return arr
}
var listaDePersonas:Array = ["Mariana", "Ana", "Fernando", "Julia", "Mariana", "Ana", "Ana", "Mauricio", "María Luisa"];
trace(listaDePersonas);
// El output o la salida nos muestra: Mariana,Ana,Fernando,Julia,Mariana,Ana,Ana,Mauricio,María Luisa
var listaActualizadaDePersonas:Array = eliminarDuplicado(listaDePersonas);
trace(listaActualizadaDePersonas);
//La salida ya no tiene valores duplicados: Julia,Mariana,Mauricio,Ana,María Luisa,Fernando

En ocasiones, puede ser que se quiera saber cuántas entradas estaban duplicadas en el Array y el número de ocurrencias, pero eso, ya es tema para otra ocasión. Espero que les sirva este tutorial.

×
Mantente informado

Cuando se suscriba al blog, le enviaremos un correo electrónico cuando haya nuevas actualizaciones en el sitio para que no se las pierda.

Contando el número de ocurrencias en una matriz en...
Tip para diseñadores web: Nunca dejen ligas o vínc...

Artículos relacionados

 
0
Compartido