Introdução
Neste laboratório, exploraremos a função unwind em JavaScript. O objetivo desta função é produzir um array de objetos a partir de um objeto e uma de suas propriedades com valor de array. Ao usar a desestruturação de objetos e Array.prototype.map(), podemos criar um array de objetos onde cada objeto contém os valores do objeto original, exceto pela chave especificada, que é mapeada para seus valores individuais. Através deste laboratório, obteremos uma compreensão mais profunda de como manipular e extrair dados de objetos em JavaScript.
Função Unwind de Objeto
Para "unwind" (desmembrar) um objeto por sua propriedade com valor de array, use a função unwind.
- Para começar a codificar, abra o Terminal/SSH e digite
node. - A função usa a desestruturação de objetos para excluir o par chave-valor para a
keyespecificada do objeto. - Em seguida, ela usa
Array.prototype.map()para os valores dakeyfornecida para criar um array de objetos. - Cada objeto contém os valores do objeto original, exceto para a
key, que é mapeada para seus valores individuais.
const unwind = (key, obj) => {
const { [key]: _, ...rest } = obj;
return obj[key].map((val) => ({ ...rest, [key]: val }));
};
Exemplo de uso:
unwind("b", { a: true, b: [1, 2] }); // [{ a: true, b: 1 }, { a: true, b: 2 }]
Resumo
Parabéns! Você concluiu o laboratório Unwind Object. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.