alguien sabe alguna rutina para buscar un elemento que se repita dentro de un arreglo....
porfaaaaa..
| |||
graciassss gracias maestro funciona impequeee , lo que si te pregunto que hacen las instrucciones if (s.indexOf(String(aItems[i])) == -1) s += "," + String(aItems[i]); es que es para poder entender la rutina, gracias |
| ||||
Te cuento: La variable "s" es un string donde llevo lo que te muestro en el alert en cada uno de los casos, lo que hace el if es preguntar si dentro de la cadena ya está grabado o no lo que re va a incluir. Veamos
Código:
s.indexOf(<x>) -> Retorna la posición en la que el string <x> aparece dentro del string s (o -1 si no aparece).if (s.indexOf(String(aItems[i])) == -1) aItems[i] es uno de los elementos del arreglo (valor numérico). String(<n>) -> Convierte a string. El conjunto dice, pasa el elemento i del arreglo a string y búscalo dentro de la cadena "s", si no lo encuentras, pasa a la siguiente instrucción.
Código:
A lo contenido dentro de la variable "s", añádele una "," y luego el contenido de la posición i del arreglo convertida a string.s += "," + String(aItems[i]); Eso es lo que hace: Si el elemento no lo he puesto ya en el string, entonces lo pongo. Saludos. ------------ NOTA POSTERIOR ------------ La función lo que hace es ordenar el arreglo e ir comparando cada elemento con el anterior. Si un elemento es igual al anterior, entonces está repetido y lo agrego a la lista. Pero si el elemento está tres veces en la lista, al revisar usando solo ese criterio aparecería dos veces en la lista de elementos repetidos. Es por eso que solo lo agrego a la lista de repetidos si no estaba previamente. Saludos. Última edición por Kaopectate; 06/06/2003 a las 09:17 |