Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] buscar elementos repetidos en un arreglo

Estas en el tema de buscar elementos repetidos en un arreglo en el foro de Javascript en Foros del Web. hola amigos aqui tengo un detalle con un script que estoy haciendo les explico, tengo unos campos dinamicos cuyo nombre es de esta forma name="id[]", ...
  #1 (permalink)  
Antiguo 21/02/2013, 14:58
 
Fecha de Ingreso: enero-2013
Mensajes: 38
Antigüedad: 11 años, 1 mes
Puntos: 0
buscar elementos repetidos en un arreglo

hola amigos aqui tengo un detalle con un script que estoy haciendo les explico, tengo unos campos dinamicos cuyo nombre es de esta forma name="id[]", lo que quiero es verificar que estos campos no tengan valores repetidos con respecto a los demas e logrado hacerlo con este script :

Código Javascript:
Ver original
  1. nidj= document.getElementsByName("numerodocumentohijo[]");
  2.  
  3.  for ( var p = 0; p <nidj.length; p++ ){  
  4.         if ( nidj[p].value==nidj[p+1].value ) {
  5.             alert("error");
  6.             return false;
  7.         }


funciona bien pero con un detalle si generas 3 por ejemplo y pasa lo siguiente numerodocumentohijo[0]=1 ,numerodocumentohijo[1]=2,numerodocumentohijo[2]=1 dice que no esta malo pero si pones asi numerodocumentohijo[0]=1 numerodocumentohijo[1]=2 numerodocumentohijo[2]=2 te marca el error el detalle que veo que esta que no puede comparar el primer campo con el ultimo creado alguna ayuda sera muy apreciada o si alguien tiene una forma de como hacer eso mismo gracias, solo quiero dar alerta cuando lo consiga no eliminarlo ,cambiarlo, etc , muchas gracias adelantadas.

Última edición por nexusdata; 21/02/2013 a las 15:18
  #2 (permalink)  
Antiguo 22/02/2013, 09:29
Avatar de Tecna  
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 2 meses
Puntos: 45
Respuesta: buscar elementos repetidos en un arreglo

Buenas,

es lógico que en el primer ejemplo que muestras no te de error porque la coincidencia no se da en elementos contiguos que es lo que ocurre en el segundo ejemplo. Según el if de la línea 4 del código, sólo comparas cada elemento con el siguiente y el último elemento no se compararía con nada porque no existe p+1. Si lo que quieres es que no haya ninguna coincidencia tendrás que comparar cada elemento con todos los demás no sólo con el siguiente.

Etiquetas: campos, elementos, funcion, repetidos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:30.