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

177
Views
¿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 answers
Answer question

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 Report

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 Report

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 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!