Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

272
Views
Reducción de la matriz de objetos afirmada const para crear un mapa normalizado afirmado const con reducción en Typescript

Estoy tratando de crear un mapa normalizado por la clave del objeto a partir de una matriz de objetos usando reducir. La matriz se define mediante una aserción const - as const :

 const flavors = [ { type: 'sweet' }, { type: 'sour' }, ] as const;

El mapa normalizado deseado se ve así:

 const expectedFlavorsMap = { 'sweet': { type: 'sweet' }, 'sour': { type: 'sour' } } as const;

Ahora, para crear dicho mapa, estoy usando una función de reducción para que las claves sean de type y los valores sean los objetos mismos de la matriz de flavors .

 const flavorsMap = flavors.reduce((acc, flavor) => { acc[flavor.type] = flavor; return acc; }, {} as any); // any for now

¿Es posible obtener un objeto afirmado constante (mapa) de sabores después de usar reducir? Esto es lo que probé, pero puedo ver que hay un problema con el tipo FlavorsMapType .

 const flavors = [ { type: 'sweet' }, { type: 'sour' }, ] as const; type FlavorsType = typeof flavors; type FlavorsMapType = Record<FlavorsType[number]['type'], FlavorsType[number]> const flavorsMap = flavors.reduce((acc, flavor) => { acc[flavor.type] = flavor; return acc; }, {} as FlavorsMapType); const expectedFlavorsMap = { 'sweet': { type: 'sweet' }, 'sour': { type: 'sour' } } as const; const sweet = flavorsMap['sweet']; // err, expected type to be the object {type: 'sweet'} const sweet2: { readonly type: 'sweet' } = flavorsMap['sweet'];

patio de juegos mecanografiado

¡Gracias por adelantado!

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!