是否有任何简单的方法从键/值对象获取密钥,如果我知道值?
例如,我知道价值是"红色"在这些数据中:
1: 'red',
2: 'blue',
3: 'yellow'
我希望能够跟踪数字1。 我正在寻找没有环绕物体的解决方案,更确切地说,我想知道是否有像这样的反之亦然的解决方案:
var nameOfColor = colors[1];
或者没有这样的方式?非常感谢你们!
答案 0 :(得分:0)
您可以使用 Object.keys()方法和 .filter()方法执行以下操作。
var obj = {
1: 'red',
2: 'blue'
}
Object.prototype.getKey = function(value) {
var self = this;
//Retrieve all key of current object
return Object.keys(self).filter(function(elm){
//Then, if current object get current key
return self.hasOwnProperty(elm)
//true if value are equals
? self[elm] === value
//Otherwise false
: false;
});
}
console.log(obj.getKey('red'));