Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

252
Views
¿Cómo detener el bucle si solo uno de estos no es cierto?

Tengo una función while que se ejecutará en modo automático si el modo automático está activado ( checkBox.checked )

El problema es que este código solo se detiene una vez que tanto a como b superan el límite de mi juego # ( bestof.value ). Quiero que se detenga una vez, solo uno de estos no es cierto.

Cuando uso while(a || b < bestof.value) se agota el tiempo hasta que la pila alcanza su límite. Tampoco devuelve valores.

 if ( checkBox.checked == true ) { while( a && b < bestof.value ) { myFunction(); } };

¿Alguna idea de cómo puedo solucionar esto?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

¿Está tratando de decir que se supone que a y b son más pequeños que bestof.value?

Desafortunadamente, no es así como funciona la sintaxis, && separa las declaraciones, por lo que básicamente estás diciendo que a es verdadero y b es más pequeño que...

Lo que necesitas es esto:

 if (checkBox.checked == true){ while(a < bestof.value && b < bestof.value){ myFunction(); };

Como se dio cuenta correctamente, su código solo se detiene tan pronto como a y b están por encima del valor, ya que verifica si a existe y b está por encima del valor, por lo que básicamente su activación es cuando b supera el valor.

Otro ejemplo:

 let a = 1 let b if (a) { console.log("a exists") } if (b) { console.log("b exists") }

Como puede ver, "b existe" no se está imprimiendo, y esto es básicamente lo que le pregunta al ciclo while antes de && , si existe...

about 4 years ago · Juan Pablo Isaza Report

0

Errores que cometiste:

  1. while la condición para " Quiero que el ciclo se detenga una vez que uno de a o b sea mayor que el límite de mi juego " es la misma que " ejecutar el ciclo hasta que tanto a como b sean menores que el límite ":
 while(a < bestof.value && b < bestof.value) { ... }
  1. No es necesario convertir/comparar if la condición es booleana por su cuenta, JS lo hará automáticamente, así que esto es suficiente:
 if (checkBox.checked) { ... }
  1. Te lo perdiste '}'. Siempre compare el número de paréntesis abiertos y cerrados si su IDE/editor no lo hace.
 if (checkBox.checked == true){ while(a && b < bestof.value) { myFunction(); // ↑ here you forget to close while body };

Además: siempre puede detener cualquier bucle con la palabra clave break :

 white(condition) { if (needToStop) { break; } }

Conclusión: su código debería verse así:

 if (checkBox.checked) { while(a < bestof.value && b < bestof.value) { myFunction(); } };
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!