¿Alguien puede explicarme mi error en la lógica de por qué esto no funciona para asignar un par de valores clave en javascript e inicializar sus valores en 0? Los valores se devuelven como indefinidos.
¿Cuál es la mejor manera de hacer esto en su lugar?
Ejemplo:
const letters = ['i','c','l','e']; let dict = {}; dict = letters.map(value => dict[value] = 0);map() devuelve una matriz de los resultados de la devolución de llamada. Entonces estás reemplazando el objeto con esa matriz.
Dado que está modificando el objeto en el ciclo, no necesita volver a asignar a la variable. Y dado que no necesita una matriz de resultados, debe usar forEach() en lugar de map()
letters.forEach(letter => dict[letter] = 0);Por cierto, en JavaScript llamamos a estos objetos , no diccionarios .