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:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use
Array.prototype.reduce()com um acumulador de objeto para combinar todos os objetos em ambos os arrays com base napropfornecida. - 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.