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

153
Views
Preguntas de novato sobre la mecánica de bucles a través de accesores de propiedad

Estoy revisando una tarea del elocuente libro de JS, ¡y estoy súper confundido! El punto es comparar 2 objetos.

  1. ¿Qué está pasando aquí: !deepEqual(a[key], b[key]) ? ¿Por qué necesito ejecutar la recursión en los valores del objeto?

  2. ¿Por qué a.key y b.key rompen el código?

  3. Si elimino el if (a === b) return true; línea: ¿el código se rompe? Pensé que estoy haciendo la comparación profunda.

 function deepEqual(a, b) { if (a === b) return true; if (a == null || typeof a != "object" || b == null || typeof b != "object") return false; let keysA = Object.keys(a), keysB = Object.keys(b); if (keysA.length != keysB.length) return false; for (let key of keysA) { if (!keysB.includes(key) || !deepEqual(a[key], b[key])) return false; } return true; } let obj = { here: { is: "an" }, object: 2 }; console.log(deepEqual(obj, obj)); // → true console.log(deepEqual(obj, { here: 1, object: 2 })); // → false console.log(deepEqual(obj, { here: { is: "an" }, object: 2 })); // → true
about 4 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 Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!