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

182
Visualizações
Combinar matriz de objetos javascript

Esta es la matriz de objetos javascript. Quiero que estos objetos javascript se fusionen en un solo objeto javascript de acuerdo con su mismo valor de propiedad.

Esta es la matriz original:

 const array = [ {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Education: {…}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Skills: {…}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Total: {…}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Personal: {…}}, {email: 'tayyab@endtest-mail.io', name: 'Tayyab', role: 'Lead', Ethics: {…}}, {email: 'tayyab@endtest-mail.io', name: 'Tayyab', role: 'Lead', Total: {…}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Total: {…}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Skills: {…}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Personal: {…}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Education: {…}}, ]

Esta es la matriz requerida:

 const array = [ {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Education: {…}, Skills: {…}, Total: {…}, Personal: {…}}, {email: 'tayyab@endtest-mail.io', name: 'Tayyab', role: 'Lead', Ethics: {…}, Total: {…}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Total: {…}, Skills: {…}, Personal: {…}, Education: {…}}, ]

Al igual que el correo electrónico, el nombre y la función, los tres tienen la misma propiedad y el mismo valor de propiedad. Se fusionaría en un objeto javascript y los demás permanecerían igual. Proporcione amablemente la solución en React.js/Javascript . Gracias

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Un buen caso para aplicar el método reduce, prueba este código:

 const array = [ {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Education: {}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Skills: {}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Total: {}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Personal: {}}, {email: 'tayyab@endtest-mail.io', name: 'Tayyab', role: 'Lead', Ethics: {}}, {email: 'tayyab@endtest-mail.io', name: 'Tayyab', role: 'Lead', Total: {}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Total: {}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Skills: {}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Personal: {}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Education: {}}, ] let result = Object.values(array.reduce((acc, {name, ...rest}) => { acc[name] = {...acc[name], ...{name, ...rest}}; return acc; }, {})); console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

Usando reduce y Object.values

 const array = [ {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Education: {}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Skills: {}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Total: {}}, {email: 'jon@endtest-mail.io', name: 'Jon', role: 'Player', Personal: {}}, {email: 'tayyab.ejaz@endtest-mail.io', name: 'Tayyab', role: 'Lead', Ethics: {}}, {email: 'tayyab.ejaz@endtest-mail.io', name: 'Tayyab', role: 'Lead', Total: {}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Total: {}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Skills: {}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Personal: {}}, {email: 'arya@endtest-mail.io', name: 'Arya', role: 'Banker', Education: {}}, ] const result = Object.values(array.reduce((acc, item) => { // build key with unique props const key = [item.email, item.name, item.role].join("-"); // assign properties to a new object // if object does not exist with the key it uses empty object acc[key] = {...(acc[key] || {}), ...item}; return acc; }, {})); console.log(result);

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