• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

187
Views
Operadores en una sentencia if-else

Quiero tener una lógica que devuelva un valor basado en 2 variables: un valor recibido y un valor actual. Lo he simplificado de múltiples else-if a un operador.

El código es algo como esto:

 var receivedState = 2; var currentState = 1; var allowedState = true; if(receivedState == 2 && currentState !== 1) { allowedState = 1; } else if ((receivedState == 3 || 4 || 5) && (currentState !== 2)) { allowedState = 2; } console.log(allowedState);

Entonces, lo que estoy tratando de hacer es si el estado recibido es "2" Y el estado actual no es "1", entonces quiero establecer el valor de allowState en 1.

Lo que sucede ahora es que establece el valor en 2.

Para el otro sí funciona. Cuando el estado es 3, 4 o 5 y el estado actual no es 2, el valor de allowState se establece en 2, excepto cuando el estado actual es diferente al valor de 2, entonces el valor de allowState es 2.

¿Cómo cambio mi código para que la lógica funcione de la siguiente manera?

Si el valor recibido es 2 y el valor actual no es 1, devuelva 1; de lo contrario, no haga nada (devuelva verdadero). Si el valor recibido es uno de 3, 4 o 5 y el valor actual no es 2, devuelva 2; de lo contrario, no haga nada.

Gracias por adelantado.

almost 3 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error