Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

166
Visualizações
Diferencia entre dos Objetos - reducir

Tengo 2 objetos con datos que se repiten pero también varían. ¿Cómo compararlos y obtener las diferencias?

 const obj1 = { surname: "kowalski", name: "adam", age: 23, city: "Wroclaw", country: "Poland", }; const obj2 = { name: "adam", age: 34, city: "Warszawa", country: "Poland", friend: "Ala", }; const objCombined = { ...obj1, ...obj2 };

Tengo que usar .reduce .

Mi trabajo:

 const find = Object.entries(objCombined).reduce((diff, [key]) => { if (!obj2[key]) return diff; if (obj1[key] !== obj2[key]) diff[key] = obj2[key]; return diff; }, {});

pero la salida es sin surname: "kowalski" . Rendimiento esperado:

 {surname: "kowalski", age: 34, city: "Warszawa", friend: "Ala"}
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Por favor usa este código

 const find = Object.entries(objCombined).reduce((diff, [key]) => { if (!obj2[key]) { diff[key] = obj1[key]; return diff; } if (obj1[key] !== obj2[key]) diff[key] = obj2[key]; return diff; }, {});
about 4 years ago · Juan Pablo Isaza Relatório

0

Eliminar if (!obj2[key]) return diff y agrega obj1[key]; si obj2[key]; es indefinido:

 const obj1 = { surname: "kowalski", name: "adam", age: 23, city: "Wroclaw", country: "Poland", }; const obj2 = { name: "adam", age: 34, city: "Warszawa", country: "Poland", friend: "Ala", }; const objCombined = { ...obj1, ...obj2 }; const find = Object.entries(objCombined).reduce((diff, [key]) => { // if (!obj2[key]) return diff; if (obj1[key] !== obj2[key]) diff[key] = obj2[key] || obj1[key]; return diff; }, {}); console.log(find);

about 4 years ago · Juan Pablo Isaza Relatório

0

Podemos usar Object.keys() y Array.reduce() para obtener la diferencia entre los dos objetos:

 const obj1 = { surname: "kowalski", name: "adam", age: 23, city: "Wroclaw", country: "Poland", }; const obj2 = { name: "adam", age: 34, city: "Warszawa", country: "Poland", friend: "Ala", }; const diff = [...Object.keys(obj1), ...Object.keys(obj2)].reduce((acc, key) => { if (obj1[key] !== obj2[key]) { acc[key] = obj2[key] || obj1[key]; } return acc; }, {}) console.log("Diff:", diff);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda