为传递的值获取对应的枚举键

Joh*_*per 1 javascript

var StateValue = {   
Unknown: 0,   
AL: 1,    
AK: 2,    
AZ: 3,    
AR: 4,    
CA: 5,    
CO: 6,   
CT: 7,    
DE: 8,
},
Run Code Online (Sandbox Code Playgroud)

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

Jac*_*kin 9

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

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

如果由于某种原因,您需要使用现有结构,请尝试以下方法:

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));
Run Code Online (Sandbox Code Playgroud)