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

155
Views
Comprobando si una fila de datos está dentro de un objeto

¿Cuál es la mejor manera de ver si una fila de datos está dentro de un objeto de JavaScript?

Hice un ejemplo simple abajo.

los datos dentro de la appointment son los mismos que los de la primera fila de upcoming_appointments

 upcoming_appointments = [{"DOB":"01-27-2002","name":"Judy, W." ,"PCD":"Dr-S"}, {"DOB":"08-15-1995","name":"John, V." ,"PCD":"Dr-C"}, {"DOB":"07-05-1992","name":"David, C.","PCD":"Dr-S"}, {"DOB":"01-15-2002","name":"Anna, S." ,"PCD":"Dr-J"}, {"DOB":"01-15-2002","name":"Jeff, D." ,"PCD":"Dr-P"}]; appointment = [{"DOB":"01-27-2002","name":"Judy, W." ,"PCD":"Dr-S"}]; if(upcoming_appointments.includes(appointment[0])){ console.log('true'); } else{ console.log('false'); }

salida deseada

 true

salida de corriente

 false
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

JavaScript no puede comparar objetos en profundidad con la operación de igualdad.

Puede lograr el resultado deseado de varias maneras, pero la más fácil que se me ocurre en este momento es convertir los objetos en cadenas JSON y luego compararlos con la versión "en cadena" de su objeto.

 // Function definition function isRecordPresent(record, array) { const jsonRecord = JSON.stringify(record); const jsonArray = array.map(record => JSON.stringify(record)); return jsonArray.includes(jsonRecord); } // Implementation isRecordPresent(appointment[0], upcoming_appointments);

Editar:

En Node.js puedes. Hay un módulo de Nodo incorporado llamado util que brinda un método útil para lo que desea: util.isDeepStrictEqual(a, b)

 const util = require('util'); const objA = { a: 1, b: { a: 2, b: 3 } }; const objB = { a: 1, b: { a: 2, b: 3 } }; const objC = { a: 1, b: { a: 2, b: 4 } }; util.isDeepStrictEqual(objA, objB); // true util.isDeepStrictEqual(objA, objC); // false
about 4 years ago · Juan Pablo Isaza Report

0

Tendría que comparar los valores de los objetos, ya que si bien pueden parecer iguales, son objetos diferentes.

 const upcoming_appointments = [{"DOB":"01-27-2002","name":"Judy, W." ,"PCD":"Dr-S"}, {"DOB":"08-15-1995","name":"John, V." ,"PCD":"Dr-C"}, {"DOB":"07-05-1992","name":"David, C.","PCD":"Dr-S"}, {"DOB":"01-15-2002","name":"Anna, S." ,"PCD":"Dr-J"}, {"DOB":"01-15-2002","name":"Jeff, D." ,"PCD":"Dr-P"}]; const appointment = [{"DOB":"01-27-2002","name":"Judy, W." ,"PCD":"Dr-S"}]; if( upcoming_appointments.some(ua => { for (let k in ua) if (ua[k] !== appointment[0][k]) return !1; return !0; }) ) { console.log('true'); } else { console.log('false'); }

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!