Siguiendo la línea de publicar un post técnico y uno intelectual.. esta vez ha llegado el momento del post téncico.. lo que por mi actividad es muy fácil de escribirlo.. Esta entrada esta basada en la experiencia que tengo sobre algunos lenguajes y algo que es muy común de hacer y que muchos programadores escriben a su manera, unos porque no conocen el método y otros porque les gusta tener el control del código.
Este ejemplo se basa en eliminar los elementos duplicados de un arreglo, por ejemplo: (‘a’, ‘b’, ‘c’, ‘b’, ‘c’, ‘d’)
Php
$arreglo = array('a', 'b', 'c', 'b', 'c', 'd'); $filtro = array_unique($arreglo); |
Ruby
arreglo = ['a', 'b', 'c', 'b', 'c', 'd'] filtro = arreglo.uniq |
Java
Object[] arreglo = {'a', 'b', 'c', 'b', 'c', 'd'}; Set<Object> unst = new HashSet<Object>(Arrays.asList(arreglo)); Object[] filtro = unst.toArray(); |
C#
string[] arreglo = {'a', 'b', 'c', 'b', 'c', 'd'}; string[] filtro = arreglo.Distinct().ToArray(); |
Javascript
Array.prototype.unique = function() { var el = this.concat().sort(); for (var i = 1; i < el.length; ) { if (el[i-1] === el[i]) el.splice(i,1); else i++; } return el; } var filtro = ['a', 'b', 'c', 'b', 'c', 'd'].unique(); |
MaxScript
arreglo = #('a', 'b', 'c', 'b', 'c', 'd') for i in arreglo.count to 1 by -1 do ( id = findItem arreglo arreglo[i] if (id != i) do deleteItem arreglo i ) |
Seguramente hay muchas otras maneras de eliminar los elementos duplicados en los arreglos.. para lenguajes como maxscript, javascript o java.. pero al final se trata de lograr desarrollar la funcionalidad deseada.
El maestro de El Castor decia.. “No importa como lo hagas.. lo que importa es que funcione”..
Y con un arreglo multidimensional?