获取传递的值的相应枚举键

时间:2011-06-03 10:40:59

标签: javascript

var StateValue = {   
Unknown: 0,   
AL: 1,    
AK: 2,    
AZ: 3,    
AR: 4,    
CA: 5,    
CO: 6,   
CT: 7,    
DE: 8,
},

现在,如果我通过8,我需要打印值DE。我怎样才能做到这一点。

1 个答案:

答案 0 :(得分:9)

更快更简单的方法是使用数组:

var StateValues = ['Unknown', 'AL', 'AK', 'AZ', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE'];
alert(StateValues[9]); //'DE'

如果出于某种原因,您需要使用现有结构,请尝试以下操作:

function find_key_by_value(set, value) {
   for(var k in set) {
      if(set.hasOwnProperty(k)) {
         if(set[k] == value) {
            return k;
         }
      }
   }
   return undefined;
}

alert(find_key_by_value(StateValue, 8));