Introducción
En este laboratorio, exploraremos cómo mapear una matriz de objetos a un objeto utilizando las funciones de asignación proporcionadas. Utilizaremos el método Array.prototype.reduce() para mapear la matriz y las funciones mapKey y mapValue para mapear las claves y los valores del objeto resultante respectivamente. Al final de este laboratorio, tendrás una mejor comprensión de cómo transformar estructuras de datos en JavaScript.
Cómo mapear una matriz a un objeto en JavaScript
Para mapear una matriz de objetos a un objeto en JavaScript, sigue estos pasos:
- Abre la Terminal/SSH y escribe
nodepara comenzar a practicar la codificación. - Utiliza
Array.prototype.reduce()para mapear la matriz a un objeto. - Utiliza el parámetro
mapKeypara mapear las claves del objeto y el parámetromapValuepara mapear los valores.
A continuación, se muestra un fragmento de código de ejemplo que demuestra cómo utilizar la función objectify para mapear una matriz de objetos a un objeto:
const objectify = (arr, mapKey, mapValue = (i) => i) =>
arr.reduce((acc, item) => {
acc[mapKey(item)] = mapValue(item);
return acc;
}, {});
Luego, puedes utilizar la función objectify para mapear una matriz de objetos a un objeto de las siguientes maneras:
const people = [
{ name: "John", age: 42 },
{ name: "Adam", age: 39 }
];
// Mapea la matriz de objetos a un objeto utilizando la propiedad name como claves
objectify(people, (p) => p.name.toLowerCase());
// Salida: { john: { name: 'John', age: 42 }, adam: { name: 'Adam', age: 39 } }
// Mapea la matriz de objetos a un objeto utilizando la propiedad name como claves y la propiedad age como valores
objectify(
people,
(p) => p.name.toLowerCase(),
(p) => p.age
);
// Salida: { john: 42, adam: 39 }
Resumen
¡Felicitaciones! Has completado el laboratorio de Mapear una Matriz a un Objeto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.