我有一个映射ids的javascript对象:
codes = {
"admin" : 3,
"manager" : 2,
"basic" : 1
}
给定值......
accountType = 2;
...找到相应密钥(“经理”)的最优雅方式是什么?
答案 0 :(得分:3)
for (var i in codes){
if (codes[i] == accountType)
alert(i);
}
jQuery版本,虽然在这里使用它确实没有任何好处:
$.each(codes, function(key, value){
if (value == accountType)
alert(key);
});
答案 1 :(得分:1)
如果你这么做,那么保持一个对象用于反向查找是有效的:
codeNames = {
"3": "admin",
"2": "manager",
"1": "basic"
}
现在您只需按名称访问属性:
var name = codeNames[accountType];
您可以从codes
对象创建查找对象:
var codeNames = {};
for (var i in codes){
codeNames[codes[i]] = i;
}