Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Saber en que variable se repite

Estas en el tema de Saber en que variable se repite en el foro de Javascript en Foros del Web. Hola, tengo el siguiente código y quisiera setear el valor a 0 en la variable que cumpla la sentencia. Código: <script type="text/javascript"> function mostrar() { ...
  #1 (permalink)  
Antiguo 25/06/2015, 10:34
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 10 años, 6 meses
Puntos: 0
Pregunta Saber en que variable se repite

Hola, tengo el siguiente código y quisiera setear el valor a 0 en la variable que cumpla la sentencia.


Código:
<script type="text/javascript">
function mostrar()
{
var nom1=document.getElementById('nombre1').value;
var nom2=document.getElementById('nombre2').value;
var nom3=document.getElementById('nombre3').value;
var nom4=document.getElementById('nombre4').value;
var nom5=document.getElementById('nombre5').value;
var reset='';
if (nom1==nom2 || nom1==nom3 || nom1==nom4 || nom1==nom5)
  {
    alert( nom1+ ' Ya ha sido seleccionado, por favor selecciona otro');
	document.getElementById("nombre1").value=reset;
  }else{}


}
</script>
  #2 (permalink)  
Antiguo 25/06/2015, 10:44
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Saber en que variable se repite

A ver si lo entiendo, ¿quieres saber si hay algún valor repetido en los inputs y cuál?

Puedes guardarlos en un array, los recorres y mediante lastIndexOf() compruebas si el índice es diferente del actual, si es así retornas dicho valor terminando la ejecución de la función.
  #3 (permalink)  
Antiguo 25/06/2015, 15:11
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Saber en que variable se repite

Disculpa, soy nuevo en javascript.

Me podrías dejar un ejemplo??
gracias.
  #4 (permalink)  
Antiguo 25/06/2015, 22:01
Avatar de America|UNK  
Fecha de Ingreso: noviembre-2006
Ubicación: Piura - Perú
Mensajes: 582
Antigüedad: 17 años, 5 meses
Puntos: 56
Respuesta: Saber en que variable se repite

@linuxchucho, algo así?:

Código Javascript:
Ver original
  1. function mostrar(){
  2.  
  3.     var nom = [1,2,3,4,5].map(function(num){
  4.         return document.getElementById('nombre' + num)
  5.     }), reset = 0;
  6.    
  7.     nom.slice(1).some(function(input, index){
  8.  
  9.         //nom[0] viene a ser nom1 debido a que las matrices empiezan de 0
  10.         //input.value es equivalente a nomX.value
  11.         if(nom[0].value == input.value){
  12.  
  13.             //"some" funciona como "forEach", así que estamos en un bucle y se termina al retornar "true"
  14.             //Esto es equivalente a:
  15.             //recorrido1: if(nom1.value == nom2.value)
  16.             //recorrido2: if(nom1.value == nom3.value)
  17.             //recorrido3: if(nom1.value == nom4.value)
  18.             //recorrido4: if(nom1.value == nom5.value)
  19.  
  20.             alert(input.value + ' Ya ha sido seleccionado, por favor selecciona otro, se repite en: nombre' + (index+2));
  21.             input.value = reset;
  22.             return true
  23.         }
  24.         return false
  25.     })
  26. }

En este caso usé Array.map() para crear un array de elementos como nombre1, nombre2, ... hasta nombre5.
Luego usé Array.some() para recorrer el array hasta que encuentre un valor que se repite con el primero.

Demo
__________________
/* El que atiende, entiende..., el que entiende, aprende!.
Desarrollo Web Freelance, Contactar */
  #5 (permalink)  
Antiguo 26/06/2015, 03:28
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Saber en que variable se repite

Con la explicación que has dado tampoco merecías un código

Pregunto, si los valores quedaran así:

0
1
1
1
1

¿Los considerarías válidos?
  #6 (permalink)  
Antiguo 26/06/2015, 08:21
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Saber en que variable se repite

Lo que busco es verificar cada campo input text (5) y que no este repetido el valor de cada uno
es decir:

Input1==hola
Input2==hola
Input3==hol
Input4==hla
Input5==ho

alerta un mensaje "ERROR no puedes repetir valores" EL VALOR "hola ya esta repetido en input 1"
  #7 (permalink)  
Antiguo 26/06/2015, 09:20
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Saber en que variable se repite

Se me ocurre otra manera de hacerlo:

Código Javascript:
Ver original
  1. var inputs = document.querySelectorAll("[id^=nombre]"),
  2.     aux = [inputs[0].value],
  3.     repetidos = [];
  4.  
  5. for (var i = 1, l = inputs.length; i < l; i++){
  6.     if (aux.indexOf(inputs[i].value) > -1){
  7.         repetidos.push(inputs[i].id);
  8.     }
  9.     else{
  10.         aux.push(inputs[i].value);
  11.     }
  12. }
  13.  
  14. console.log("Los inputs que poseen valores repetidos son: " + repetidos.join(", "));

Básicamente tomo al conjunto de elementos cuyo id empiece por nombre, utilizo un array auxiliar para guardar el valor del primer elemento y un tercer array para guardar a los repetidos.

Recorro el conjunto de elementos iniciando desde el segundo de ellos y por cada valor que se repita entre los que posee el array auxiliar, añado el id de dicho elemento al array de repetidos, caso contrario, añado dicho valor al array auxiliar.

DEMO

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #8 (permalink)  
Antiguo 26/06/2015, 09:51
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Saber en que variable se repite

Disculpa, como te reitero son nuevo en javascript.

ejecuto el codigo tal cual y no hace nada.

muchas gracias por tu ayuda!!
  #9 (permalink)  
Antiguo 26/06/2015, 09:52
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Saber en que variable se repite

Debes mirar la pestaña que pone "Console", o con la consola del navegador
  #10 (permalink)  
Antiguo 26/06/2015, 10:26
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Saber en que variable se repite

Busca la herramienta para desarrolladores de tu navegador (a la cual se suele acceder pulsando la tecla F12) y, en el cuadro que se desplegará, selecciona la opción "Console" (en algunos navegadores se muestra como "Consola", en español). Ahí verás el resultado o, si deseas, usa un mensaje de alerta en lugar del mensaje en consola.

Y, por favor, nunca te excuses con un "soy nuevo" para no hacer algo, en especial en esta época en la que el conocimiento está a un clic.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 26/06/2015, 10:30
 
Fecha de Ingreso: octubre-2013
Mensajes: 79
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Saber en que variable se repite

Muchas gracias!!!

Etiquetas: repite, valor, variable
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 18:38.