Introdução
Neste laboratório, exploraremos como mapear um array de objetos para um objeto usando as funções de mapeamento fornecidas. Usaremos o método Array.prototype.reduce() para mapear o array e as funções mapKey e mapValue para mapear as chaves e os valores do objeto resultante, respectivamente. Ao final deste laboratório, você terá uma melhor compreensão de como transformar estruturas de dados em JavaScript.
Como Mapear um Array para um Objeto em JavaScript
Para mapear um array de objetos para um objeto em JavaScript, siga estes passos:
- Abra o Terminal/SSH e digite
nodepara começar a praticar a codificação. - Use
Array.prototype.reduce()para mapear o array para um objeto. - Use o parâmetro
mapKeypara mapear as chaves do objeto e o parâmetromapValuepara mapear os valores.
Aqui está um trecho de código de exemplo que demonstra como usar a função objectify para mapear um array de objetos para um objeto:
const objectify = (arr, mapKey, mapValue = (i) => i) =>
arr.reduce((acc, item) => {
acc[mapKey(item)] = mapValue(item);
return acc;
}, {});
Você pode então usar a função objectify para mapear um array de objetos para um objeto das seguintes maneiras:
const people = [
{ name: "John", age: 42 },
{ name: "Adam", age: 39 }
];
// Mapear o array de objetos para um objeto usando a propriedade name como chaves
objectify(people, (p) => p.name.toLowerCase());
// Output: { john: { name: 'John', age: 42 }, adam: { name: 'Adam', age: 39 } }
// Mapear o array de objetos para um objeto usando a propriedade name como chaves e a propriedade age como valores
objectify(
people,
(p) => p.name.toLowerCase(),
(p) => p.age
);
// Output: { john: 42, adam: 39 }
Resumo
Parabéns! Você concluiu o laboratório "Mapear um Array para um Objeto". Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.