使用for循环修改哈希的键

时间:2011-06-03 19:35:32

标签: javascript

嘿伙计们,我有2个昏暗的阵列和哈希! 数组的第二行值和散列键设置相同!

我想要的是使用数组的行值来处理每个哈希键并将它们更改为数组的当前列索引

预览示例:

{.....,'_11':val, '_12':value, .....}

arr[1][i]='_12'。使用此值来解决唯一的哈希问题并将该密钥更改为i。键= I

这是正确的方法吗?

var keyName;
for(var i=0; i<theLength; i++){
   keyName = arr[1][i];
   hash.keyName=i;
}

10x为你的帮助,BR

2 个答案:

答案 0 :(得分:4)

也许你想要的是这个:

var keyName;
for(var i=0; i<theLength; i++) {
  keyName = arr[1][i];
  hash[keyName] = i;
}

使用hash.keyName将始终引用名为keyName的密钥,而不是具有该变量名称的密钥。

由于您实际上不需要中间变量,因此可以执行以下操作:

for(var i=0; i<theLength; i++) {
  hash[arr[1][i]] = i;
}

答案 1 :(得分:2)

不确定我是否遵循了你要求的其余部分,但

hash.keyName=i;

应该是:

hash[keyName]=i;