如何在javascript中动态设置哈希键

时间:2014-04-21 10:25:55

标签: javascript hash

使用此代码,

h = {}
for (var i in [0,1]){ h[i.ToString] = i; }

我期望与h["1"] = 1h["2"] = 2相同的结果。

为什么这段代码不起作用,如何在javascript中动态定义哈希键呢?

1 个答案:

答案 0 :(得分:1)

JS中的for .. in循环遍历键,而不是值(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in)。 所以在你的情况下,你迭代你在那里的数组的键 那些将是0,1,2 ......无论你放在那里。

你能做的事情就是这样:

var obj = {};
var data = [1,2,3,4];
data.forEach(function(val) {
    obj[val] = val;
});