Matriz a Objeto Basado en Clave

JavaScriptJavaScriptBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28160{{"Matriz a Objeto Basado en Clave"}} javascript/data_types -.-> lab-28160{{"Matriz a Objeto Basado en Clave"}} javascript/arith_ops -.-> lab-28160{{"Matriz a Objeto Basado en Clave"}} javascript/comp_ops -.-> lab-28160{{"Matriz a Objeto Basado en Clave"}} javascript/array_methods -.-> lab-28160{{"Matriz a Objeto Basado en Clave"}} javascript/higher_funcs -.-> lab-28160{{"Matriz a Objeto Basado en Clave"}} javascript/spread_rest -.-> lab-28160{{"Matriz a Objeto Basado en Clave"}} end

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 node para 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 clave dada 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.