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

169
Views
¿Cómo filtro solo valores de objetos comunes en Javascript?

Quiero filtrar los pares de valores clave que son comunes en ambos objetos. Hay dos objetos:

 first = {a:3 , b:4} second = {a:5 , b:4}

Usé el siguiente código para resolver esto:

 c = {} for (const key of Object.keys(first)) { for( const k of Object.keys(second)){ if ( key == k){ if (first[key]==second[k]){ c[key] = first[key] } } } }

Esto funciona bien y me da la salida {b:4}, pero para los valores de entrada de prueba a continuación, obtengo un objeto vacío como salida, no estoy seguro de cómo verificar los valores que son comunes pero no iguales.

 first = {a: 3, b: {x:7}}; second = {a: 4, b: {x: 7, y: 10}}

Aquí la salida debería ser:

 {b: {x:7}}
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede adoptar un enfoque recursivo para los objetos anidados y verificar las claves y los valores comunes o, si ambos valores son objetos, tomar los valores comunes de los objetos anidados.

 function getCommon(a, b) { const isObject = o => typeof o === 'object'; return Object.fromEntries(Object .keys(a) .filter(Set.prototype.has, new Set(Object.keys(b))) .filter(k => a[k] === b[k] || isObject(a[k]) && isObject(b[k])) .map(k => [k, isObject(a[k]) ? getCommon(a[k], b[k]) : a[k]]) ); } console.log(getCommon({ a: 3, b: { x: 7 } }, { a: 4, b: { x: 7, y: 10 } }));

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!