myo*_*yol 37 javascript hashmap
我正在使用这种方法在javascript中制作人工"哈希映射".我所瞄准的只是键值对,实际运行时间并不重要.下面的方法工作正常.
还有其他方法可以循环使用吗?
for (var i in a_hashMap[i]) {
console.log('Key is: ' + i + '. Value is: ' + a_hashMap[i]);
}
Run Code Online (Sandbox Code Playgroud)
我遇到一个问题,当第一个键只包含一个条目时,它会在第一个键后输出一堆未定义的键.我有一种感觉,因为代码是在一个使用i的循环中,即使我在调试时也不应该发生.我也无法改变i,因为for循环似乎根本不理解替换的var.
任何想法?
jhu*_*man 57
for (var i in a_hashmap[i])
Run Code Online (Sandbox Code Playgroud)
是不正确的.它应该是
for (var i in a_hashmap)
Run Code Online (Sandbox Code Playgroud)
这意味着"循环遍历属性a_hashmap,依次为每个属性名称分配i"
Ray*_*nos 11
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]]);
}
Run Code Online (Sandbox Code Playgroud)
你的意思是
for (var i in a_hashmap) { // Or `let` if you're a language pedant :-)
...
}
Run Code Online (Sandbox Code Playgroud)
i 当for循环设置时,未定义.
您可以使用JQuery函数
$.each( hashMap, function(index,value){
console.log("Index = " + index + " value = " + value);
})
Run Code Online (Sandbox Code Playgroud)
小智 5
试试这个是为了正确打印控制台......
for(var i in a_hashMap) {
if (a_hashMap.hasOwnProperty(i)) {
console.log('Key is: ' + i + '. Value is: ' + a_hashMap[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
85105 次 |
| 最近记录: |