Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

274
Vistas
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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda