获取与js对象中的值对应的键

RIS*_*SAL 3 javascript arrays node.js

我有一个对象,例如:

var inspectionMapping = {'a_pillar_lh' : "A Pillar LH",
                       'b_pillar_lh'  : "B Pillar LH"};

console.log(inspectionMapping['a_pillar_lh']);
// Which gives me correct "A Pillar LH".
Run Code Online (Sandbox Code Playgroud)

我能够获得与key对应的值.

但是我无法获得与javascript对象中的值对应的键.

比如我"A Pillar LH"和我需要得到相应的密钥a_pillar_lh.

我试过用indexOf但没有成功.

voi*_*oid 9

你可以简单地获取所有的密钥Object.keys()然后使用.find()函数从该数组中获取密钥,然后很好地将它包装在一个函数中以使其模块化.

var inspectionMapping = {
  'a_pillar_lh': "A Pillar LH",
  'b_pillar_lh': "B Pillar LH"
};

Object.prototype.getKey = function(value) {
  var object = this;
  return Object.keys(object).find(key => object[key] === value);
};


alert(inspectionMapping.getKey("A Pillar LH"));
Run Code Online (Sandbox Code Playgroud)

编辑对于那些不想使用ES6的人

Object.prototype.getKey = function(value) {
      var object = this;
      for(var key in object){
         if(object[key]==value) return key;
      }
};
Run Code Online (Sandbox Code Playgroud)