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

113
Views
Obtener indefinido con un operador de igualdad estricto pero no con un operador de igualdad normal
function sym(...args) { let arr = [...args]; while(!arr.length === 0) { arr.pop(); console.log(arr.length); } } console.log(sym([1,2,5],[2,3,5],[3,4,5]));

Estaba tratando de resolver un problema, pero surgió otro problema. ¿Puede alguien explicarme por qué esto registra indefinido? El operador de igualdad estricta registra sin definir, pero el operador de igualdad normal no, aunque arr.length devuelve un número.

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

0

! tiene mayor precedencia de operadores que === .

 while(!arr.length === 0) {

es equivalente a

 while((!arr.length) === 0) {

Comparar un booleano con un número nunca funcionará con === , pero a veces funcionará con == , pero de cualquier manera, eso no es lo que quieres. Utilice !== 0 en su lugar.

 function sym(...args) { let arr = [...args]; while(arr.length !== 0) { arr.pop(); } return arr; } console.log(sym([1,2,5],[2,3,5],[3,4,5]));

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!