Introducción
En este laboratorio, exploraremos cómo convertir una matriz de objetos en un objeto donde cada clave del objeto es un valor de propiedad especificado de los objetos originales. Lo haremos utilizando el método Array.prototype.reduce() y la extracción de objetos en JavaScript. Este laboratorio te ayudará a comprender más profundamente cómo manipular y transformar datos en JavaScript.
Convertir una matriz en un objeto basado en una clave específica
Para convertir una matriz en un objeto basado en una clave específica y excluir esa clave de cada valor, siga estos pasos:
- Abra la Terminal/SSH y escriba
nodepara comenzar a practicar la codificación. - Utilice
Array.prototype.reduce()para crear un objeto a partir de la matriz proporcionada. - Utilice la extracción de objetos para extraer el valor de la
clavedada y los datos asociados, y luego agregue el par clave-valor al objeto.
A continuación, se muestra una implementación de ejemplo:
const indexOn = (arr, key) =>
arr.reduce((obj, v) => {
const { [key]: id, ...data } = v;
obj[id] = data;
return obj;
}, {});
Luego, puede usar la función de la siguiente manera:
indexOn(
[
{ id: 10, name: "apple" },
{ id: 20, name: "orange" }
],
"id"
);
// { '10': { name: 'apple' }, '20': { name: 'orange' } }
Resumen
¡Felicidades! Has completado el laboratorio de Conversión de Matriz a Objeto Basado en Clave. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.