Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

154
Visualizações
Dificultades para conseguir que una sentencia if...else funcione dentro de una función

Sé que estoy muy cerca, pero no puedo hacer que el código devuelva nada más que la variable 'savesTheDay' en la opción else. No creo que esté configurando mis condicionales if.... else correctamente. Creo que debería ir con el "final feliz" para la declaración if (en mi caso, ¿la variable savesTheDay ? ¿No debería definir 'nivel de peligro' dentro de la función ya que quiero que cambie? ¡Gracias!

** Editado: estoy tratando de que cada una de las fases regrese cuando llamo a la función de evaluación de situación. Solo puedo hacer que regrese el mensaje saveTheDay, incluso si el valor está fuera de los parámetros de la condición, es decir, evaluar la situación (1);. Esperaría obtener el "Meh. Hard Pass". valor de retorno en lugar de saveTheDay.

Se agregó un nuevo código, ¡aunque todavía no se está ejecutando! **

 function assessSituation (dangerLevel, saveTheDay, badExcuse) { var saveTheDay = "Crime won't stand a chance against me!"; var dangerLevel = dangerLevel; var badExcuse = "I'm scared, I've never gone up against this many villains"; if (10 < dangerLevel < 50) { console.log(saveTheDay); } else if (dangerLevel > 50) { console.log(badExcuse); } else console.log("Meh. Hard Pass."); }
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

JavaScript, como muchos otros lenguajes (C/C++, Java, etc.) excepto Python, no tiene soporte para encadenar operadores de comparación.

 10 < dangerLevel < 50

es equivalente a

 (10 < dangerLevel /* true or false */) < 50 (true) < 50 // or (false) < 50

Dado que false == 0 y true == 1 , el resultado siempre será true ya que 0 y 1 son ambos menores que 50 .

Para arreglar su lógica, use el operador && (AND):

 if ((10 < dangerLevel) && (dangerLevel < 50))
about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que solo regresa saveTheDay porque es el único condicional que coincide.

Su nivel de peligro = 10, por lo que el nivel de peligro no es> 50, y no es menor que 10, pero definitivamente es < 50. Si desea otro retorno, puede cambiar el nivel de peligro antes de la cláusula if else.

PD: no vi que su variable dentro de su función tenga el mismo nombre que la entrada. Debes elegir otro nombre si quieres tener ambos

about 4 years ago · Juan Pablo Isaza Relatório

0

está configurando el nivel de peligro = 10;

no importa lo que pase, 10 se completa para el nivel de peligro, por lo que:

10 nunca será > 50 nunca será < 10 siempre será < 50

por eso siempre obtienes savesTheDay

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda