Tengo un problema con la inicialización de una matriz de objetos de mapa en mi interfaz de mecanografiado como se muestra a continuación:
interface SomeInterface{ id: string, types: Array<Map<string, number>>; }Necesito crear un objeto con tipos de campo como una matriz que contendrá muchos mapas con cadenas y números. Quiero esto, pero no sé cómo agregar un nuevo mapa a esta matriz.
Intento incluso de esta manera, pero no funciona y los types siguen siendo un objeto vacío:
const t: Array<Map<string, number>> = new Array<Map<string, number>>(); const map = new Map<string, number>(); t.push(map.set("test1", 2)); t.push(map.set("test2", 5)); const a: SomeInterface= { id: "test", types: t } console.log(a); //{ // "id": "test", // "types": [ // {}, // {} // ] //}¿Alguien puede decirme cómo agregar un nuevo mapa en una matriz mecanografiada?
¡Gracias por cualquier ayuda!
De acuerdo con su código, haría algo como seguir
const t: Array<Map<string, number>> = new Array<Map<string, number>>(); t.push(new Map([["test1", 2]])); t.push(new Map([["test12", 5]]));Aquí hay un ejemplo que muestra cómo puedes:
const arrayOfMaps: Array<Map<string, number>> = []; // create a map const map1 = new Map<string, number>(); // add entries to the map map1.set("test1", 1); map1.set("test2", 2); // insert the map at the end of the array arrayOfMaps.push(map1); console.log(arrayOfMaps); // [Map (2) {"test1" => 1, "test2" => 2}] const firstMapInArray = arrayOfMaps[0]; console.log(firstMapInArray); // Map (2) {"test1" => 1, "test2" => 2} console.log(firstMapInArray === map1); // true