Así que tengo dos tipos B y A, y una matriz a, que debo transformar en tipo B.
type A = Array<[string, number, string]>; type B = { [name: string]: { name: string, age: number, city: string } } const a: A = [ ['name1', 10, 'city1'], ['name2', 33, 'city2'], ['name3', 61, 'city3'], ['name4', 60, 'city4'] ]; export const b: B = ??? No entiendo cómo puedo transformar una matriz debido a la firma de índice [name: string] en el tipo B. Por lo general, transformo a través array.map(value => {}) , pero aquí no puedo encontrar una manera de incluir el índice firma en el método de mapa.
B describe un objeto de la forma:
export const b: B = { name1: { name: 'name1', age: 10, city: 'city1' } }; pero si quieres una matriz de B s puedes
export const b: B[] = a.map(([name, age, city]) => ({ [name]: { name, age, city } }));