Introdução
Neste laboratório, exploraremos como converter um array de objetos em um objeto onde cada chave do objeto é um valor de propriedade especificado dos objetos originais. Conseguiremos isso usando o método Array.prototype.reduce() e a desestruturação de objetos em JavaScript. Este laboratório ajudará você a obter uma compreensão mais profunda de como manipular e transformar dados em JavaScript.
Convertendo um Array em um Objeto com Base em uma Chave Específica
Para converter um array em um objeto com base em uma chave específica e excluir essa chave de cada valor, siga estas etapas:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use
Array.prototype.reduce()para criar um objeto a partir do array fornecido. - Use a desestruturação de objetos para extrair o valor da
keyfornecida e osdataassociados, e então adicione o par chave-valor ao objeto.
Aqui está um exemplo de implementação:
const indexOn = (arr, key) =>
arr.reduce((obj, v) => {
const { [key]: id, ...data } = v;
obj[id] = data;
return obj;
}, {});
Você pode então usar a função assim:
indexOn(
[
{ id: 10, name: "apple" },
{ id: 20, name: "orange" }
],
"id"
);
// { '10': { name: 'apple' }, '20': { name: 'orange' } }
Resumo
Parabéns! Você concluiu o laboratório de Array para Objeto com Base em Chave. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.