• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

180
Views
¿Establecer un mapa ES6 a partir de una matriz de objetos en Typescript?

Tengo una variedad de objetos como tales...

 const myObjects: MyObjects[] = [{id: 1, data: "blah"}, {id: 2, data: "foo"}, {id: 3, data: "bar"}];

Quiero configurar estos datos en un mapa basado en id.

La forma que tengo ahora es un bucle forEach , pero ¿hay una forma más simple o un método que me falta en el tipo de Map ? Me encuentro haciendo esto una y otra vez y pensando debe ser una forma más sencilla.

es decir

 const myMap = new Map<number, MyObject>(); myObjects.forEach(obj => { myMap.set(obj.id, obj); });

Quiero moverlos a un Map para que sea más fácil acceder a ellos por identificación en lugar de iterar sobre toda la matriz.

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

¿Hay una forma más simple o un método que me falta en el tipo de mapa?

"Simple" es un poco subjetivo. Usualmente uso este enfoque porque cabe en una línea y porque inicializar un Map con algunos elementos puede ser más rápido que inicializarlo y luego agregar elementos.

 const myObjects: { id: number; data: string; }[] = [{id: 1, data: "blah"}, {id: 2, data: "foo"}, {id: 3, data: "bar"}]; const myMap = new Map(myObjects.map(obj => [obj.id, obj]));

Explicación: el constructor Map toma un iterable de iterables (en este caso, una matriz de matrices) como primer parámetro. Cada elemento de la matriz principal es una entrada en el mapa, siendo la clave el primer elemento del elemento y el valor el segundo elemento del elemento.

almost 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error