Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda