w3schools recorrer nodejs example javascript hashmap

recorrer - Bucle a través de un ''Hashmap'' en JavaScript



map to json javascript (7)

Esta es una publicación anterior, pero una forma en que puedo pensar es

const someMap = { a: 1, b: 2, c: 3 }; Object.keys(someMap) .map(key => ''key is '' + key + '' value is '' + someMap[key]);

¿Debería usarse esta forma de iteración? ¿Hay algún problema con este enfoque?

Estoy usando this método para hacer ''hashmaps'' artificiales en javascript. Todo lo que pretendo es pares clave | valor, el tiempo de ejecución real no es importante. El siguiente método funciona bien.

¿Hay alguna otra forma de recorrer esto?

for (var i in a_hashMap[i]) { console.log(''Key is: '' + i + ''. Value is: '' + a_hashMap[i]); }

Me encuentro con un problema donde esto produce un montón de teclas indefinidas después de la primera clave, cuando la matriz solo contiene una entrada. Tengo la sensación de que es porque el código está dentro de un ciclo que usa i, aunque cuando sigo en depuración no debería estar sucediendo. Tampoco puedo cambiar i ya que el bucle for parece no entender la varilla reemplazada en absoluto.

Alguien tiene alguna idea?


Iterar a través de un mapa en vainilla Javacsript es simple.

var map = {...};//your map defined here for(var index in map) { var mapKey = index;//This is the map''s key. for(i = 0 ; i < map[mapKey].length ; i++) { var mapKeyVal = map[mapKey];//This is the value part for the map''s key. } }


Pruebe esto para imprimir la consola correctamente ...

for(var i in a_hashMap) { if (a_hashMap.hasOwnProperty(i)) { console.log(''Key is: '' + i + ''. Value is: '' + a_hashMap[i]); } }


Puede usar la función JQuery

$.each( hashMap, function(index,value){ console.log("Index = " + index + " value = " + value); })


Quieres decir

for (var i in a_hashmap) { // Or `let` if you''re a language pedant :-) ... }

i definido cuando se configura el for-loop.


for (var i = 0, keys = Object.keys(a_hashmap), ii = keys.length; i < ii; i++) { console.log(''key : '' + keys[i] + '' val : '' + a_hashmap[keys[i]]); }


for (var i in a_hashmap[i])

no es correcto. Debería ser

for (var i in a_hashmap)

lo que significa "recorrer las propiedades de a_hashmap , asignando cada nombre de propiedad a su vez"