Soy nuevo en javascript y estoy tratando de entender cómo usar la función Mapa. Tengo una matriz de números, y si el valor es 0, quiero que la clave del objeto sea falsa y para cualquier otro valor; verdadero.
¡Bienvenido a stackoverflow! Lo que necesita saber es que una clave es única en un objeto de mapa. Solo tienes dos claves que son true y false . Por lo tanto, si intenta insertar en el mapa una clave que ya existe, se actualizará con el nuevo par clave/valor que está configurando. Es por eso que solo ve dos pares clave/valor como salida. También como una pequeña nota al margen cuando declara values of array1 , ya que está trabajando con un solo elemento en cada iteración del bucle, sería mejor tener el value of array1 para que el código sea un poco más limpio.
Dado que la clave del mapa es única, solo tiene dos claves. Si desea obtener mapas para cada valor, puede crear un par de clave y valor y luego insertarlo en una matriz.
const array1 = [1,0,1,0,1,-1]; let result = []; for (values of array1 ) { if (values !== 0) { const mapExample = new Map(); mapExample.set(true, values) result.push(mapExample) } else { const mapExample = new Map(); mapExample.set(false, values) result.push(mapExample) } } console.log(result)el resultado seria asi
[ Map(1) { true => 1 }, Map(1) { false => 0 }, Map(1) { true => 1 }, Map(1) { false => 0 }, Map(1) { true => 1 }, Map(1) { true => -1 } ]