我使用Javascript哈希对象来存储一组数字计数器,其设置如下:[这大大简化了]:
var myHash = {
A: 0,
B: 0,
C: 0
};
有没有办法使其他键(未在
myHash
中明确显示)映射到那些键?例如,我想要[再次简化]:myHash['A_prime']++; // or myHash.A_prime++;
完全等同于
myHash['A']++; // or myHash.A++;
例如增加在键
A
而不是A_prime
处找到的值。 最佳答案
假设此哈希中没有任何有效的字符串值,则可以在哈希自身中创建自己的键到其他键的映射,并将键/值对包装在自己的函数中,如下所示:
var hash = {
A: 0,
B: 0,
C: 0,
A_asdf: 'A',
B_asdf: 'B',
A_another: 'A'
}
function increment(key)
{
// iteratively find the real key
while (typeof(hash[key]) == 'string')
{
key = hash[key];
}
hash[key]++;
}
关于javascript - 将多个键映射到Javascript哈希中的相同值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2511495/