Estaba tratando de insertar algún valor en un mapa en mi proyecto angular. El mapa se inicializa con el siguiente código:
filters: Map<string, string[]> = new Map();Pero cuando inserto algún valor en este mapa anterior, se comporta de manera inusual. Primera imagen con mapa(1)
a veces me está dando el mismo Mapa con diferente valor. Mirar
La primera imagen muestra Map(1) y la segunda imagen muestra Map(2) .
Necesito un segundo tipo de mapa después de insertar un valor. ¿Alguien podría ayudarme cuál es la diferencia entre esos dos? Estoy totalmente atrapado por esto. Necesito urgentemente algo de ayuda. Muchas muchas gracias de antemano.
tu código funciona bien. es la característica devtools. En el momento en que registra su mapa, está registrando el enlace a un mapa, donde puede expandirlo y verá el valor real (es por eso que ve la misma vista expandida en ambas capturas de pantalla).
Devtools intenta ayudarte un poco y crea una cadena que podría ayudarte a encontrar tu mapa en la consola. Pero en el momento de iniciar sesión, el segundo elemento aún no está en el mapa. Debido a que el elemento no está en el mapa, la cadena auxiliar no es la más reciente.
Las herramientas de desarrollo muestran Map(1) en la salida de la consola debido a que solo hay un valor presente en el momento del registro, luego muestra Map(2) en la segunda vez que se registra.
El mapa es una referencia a un objeto en las herramientas de desarrollo, por lo que cuando inspeccione el valor del Map al expandirlo en las herramientas de desarrollo, verá su valor actual.
Aquí hay un ejemplo de esto en acción.
const map = new Map(); map.set("a", ["a"]); console.log(map); // Shows Map(1) as map has one entry map.set("b", ["a", "b"]); console.log(map); // Shows Map(2) as map has two entries