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但没有成功.
你可以简单地获取所有的密钥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)