Indexar Matriz Basada en Función

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 la función indexBy en JavaScript, que crea un objeto a partir de una matriz basado en una función proporcionada. El propósito de este laboratorio es ayudarte a entender cómo usar Array.prototype.reduce() y cómo aplicar una función a cada valor de una matriz para producir un par clave-valor. Al final de este laboratorio, serás capaz de usar indexBy para mapear los valores de una matriz a claves y crear un nuevo objeto.


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/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28327{{"Indexar Matriz Basada en Función"}} javascript/data_types -.-> lab-28327{{"Indexar Matriz Basada en Función"}} javascript/arith_ops -.-> lab-28327{{"Indexar Matriz Basada en Función"}} javascript/comp_ops -.-> lab-28327{{"Indexar Matriz Basada en Función"}} javascript/higher_funcs -.-> lab-28327{{"Indexar Matriz Basada en Función"}} end

Función para indexar una matriz

Para indexar una matriz usando una función, sigue estos pasos:

  1. Abre la Terminal/SSH y escribe node para comenzar a practicar la codificación.
  2. Utiliza Array.prototype.reduce() para crear un objeto a partir de la matriz.
  3. Aplica la función proporcionada a cada valor de la matriz para producir una clave y agrega el par clave-valor al objeto.

Aquí hay un fragmento de código de ejemplo:

const indexBy = (arr, fn) =>
  arr.reduce((obj, v, i) => {
    obj[fn(v, i, arr)] = v;
    return obj;
  }, {});

Puedes usar esta función de la siguiente manera:

indexBy(
  [
    { id: 10, name: "apple" },
    { id: 20, name: "orange" }
  ],
  (x) => x.id
);
// { '10': { id: 10, name: 'apple' }, '20': { id: 20, name: 'orange' } }

Esta función crea un objeto a partir de una matriz mapeando cada valor a una clave usando una función proporcionada. El objeto resultante contiene pares clave-valor donde las claves son producidas por la función y los valores son los elementos originales de la matriz.

Resumen

¡Felicidades! Has completado el laboratorio de Indexar Matriz Basada en Función. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.