Aqui les traigo una funcion para eliminar valores duplicados en un arreglo en javascript , la manera en que funciona es por medio de los objetos , la descubri hace algun tiempo en otro blog por lo que no recuerdo el link para hacer honor a su autor .
La teoria es que los objetos se componen asi
{ key : "valor" } la key siempre es unica y el valor se puede repetir , valiendose de este principio es que la funcion trabaja a la perfeccion devolviendo un arreglo sin valores duplicados .
function eliminateDuplicates(arr) {
var i,
len=arr.length,
out=[],
obj={};
for (i=0;i<len;i++) {
obj[arr[i]]=0;
}
for (i in obj) {
out.push(i);
}
return out;
}
un ejemplo seria:
var a = [ 1 , 2 ,3 ,1 , 1 ];
eliminateDuplicates(a);
devolvera : a [ 1, 2, 3]
mas facil no puede ser , he visto otros codigos por ahi un tanto complejos pero este es el mas sencillo que he encontrado.
Existe una mejor alternativa: http://www.etnassoft.com/2011/06/24/array-unique-eliminar-valores-duplicados-de-un-array-en-javascript/
ResponderEliminarintersante tu la forma que propones
ResponderEliminarEste comentario ha sido eliminado por el autor.
ResponderEliminaresutoraiki estas equivocado el link:http://www.etnassoft.com/2011/06/24/array-unique-eliminar-valores-duplicados-de-un-array-en-javascript/
ResponderEliminarNO es la mejor manera por que NO lo logra eliminar los elementos repetidos de arrays de este tipo: [[1,1],[1,1],[1,1],[1,2]]
mientras este SI
Por lo tanto este es la mejor forma de eliminar arrays duplicados
Esto era lo que necesitaba, muchísimas gracias :)
ResponderEliminar