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

169
Visualizações
¿Por qué este código devuelve verdadero en lugar de falso?

aquí está el código:

 const str = "asdfcvb"; const result = str.split("").every((e) => { return e==='a'||'b'}); console.log(result);

Espero que str.split ("") devuelva una matriz, y cada método verifica si cada elemento de la matriz es igual a 'a' o 'b', lo que debería devolver falso, pero devuelve verdadero

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Porque e==='a'||'b' significa ((e==='a')||'b')

Cuando el caso e !== 'a' , devolverá 'b' que es verdadero en Javascript, por lo que every método obtuvo un valor verdadero de cada término y luego el resultado será verdadero.

Puedes usar el seguimiento para lograr lo que quieres

 const result = str.split("").every((e) => { return (e==='a') || (e==='b') });
about 4 years ago · Juan Pablo Isaza Relatório

0

No puede omitir el === de la segunda parte de su condición. En este momento, lo que estás diciendo es return e === 'a' o 'b' . Cuando e no es igual a 'a' devuelve 'b' . Que es veraz y cuando se convierte en booleano se convierte en verdadero. Ejecuta esto en el navegador:

 'a' === 'b' || 'c'

Si lo ejecuta, verá que devuelve 'c'. Lo mismo sucede en su devolución de llamada. Tienes que cambiar tu declaración de devolución a esto para que funcione:

 return e === 'a' || e === 'b'
about 4 years ago · Juan Pablo Isaza Relatório

0

Todo parece correcto. El problema está en la forma en que comparaste las cadenas.

deberías comparar aquellos como e === "a" || e === "b"

y el código de trabajo

 const str = "asdfcvb"; const result = str.split("").every((e) => { return (e === "a" || e === "b")}); console.log(result);

Explicación:

return e==='a'||'b'

ejecutar la prueba para el primer elemento que es "a" devolverá verdadero ya que ahora e es "a" aquí, que es igual a "a" .

ahora, si llega al segundo elemento que es "s" y obviamente no es igual a "a" entonces return e==='a'||'b' se convierte en return false||'b' y ahora, cuando evalúas esto, se devuelve el valor será "b"

y poner "b" como condición es similar a true porque no es undefined o null

esto se puede probar de la siguiente manera

 if("b") return true; // returns true

Por lo tanto, devuelve true para cada elemento y, por lo tanto, vuelve true al final.

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