Combinar Arrays de Objetos

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Neste laboratório, trabalharemos em um exercício de programação JavaScript com o objetivo de combinar dois arrays de objetos com base em uma propriedade especificada. O propósito deste exercício é ajudá-lo a praticar o uso do método Array.prototype.reduce() e a manipulação de objetos em JavaScript, que são habilidades essenciais para qualquer desenvolvedor que trabalhe com JavaScript. Ao final deste laboratório, você deverá ser capaz de combinar perfeitamente dois arrays de objetos com base em uma propriedade para criar um novo array.

Função para Combinar Arrays de Objetos com Base em uma Chave Especificada

Para combinar dois arrays de objetos com base em uma chave específica, siga estes passos:

  1. Abra o Terminal/SSH e digite node para começar a praticar a codificação.
  2. Use Array.prototype.reduce() com um acumulador de objeto para combinar todos os objetos em ambos os arrays com base na prop fornecida.
  3. Use Object.values() para converter o objeto resultante em um array e retorná-lo.

Aqui está a função que você pode usar:

const combine = (a, b, prop) =>
  Object.values(
    [...a, ...b].reduce((acc, v) => {
      if (v[prop])
        acc[v[prop]] = acc[v[prop]] ? { ...acc[v[prop]], ...v } : { ...v };
      return acc;
    }, {})
  );

Aqui está um exemplo de como usar esta função:

const x = [
  { id: 1, name: "John" },
  { id: 2, name: "Maria" }
];
const y = [{ id: 1, age: 28 }, { id: 3, age: 26 }, { age: 3 }];
combine(x, y, "id");
// [
//  { id: 1, name: 'John', age: 28 },
//  { id: 2, name: 'Maria' },
//  { id: 3, age: 26 }
// ]

Resumo

Parabéns! Você concluiu o laboratório de Combinação de Arrays de Objetos. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.