Spe*_*rds -2 javascript object
所以我试图通过值来获取对象键,以节省必须使用反向键和值创建重复对象的时间.
无论是从值返回键的函数还是我错过了内置方法,我都不在乎.我只需要一种方法来获取密钥.
例:
var user = {'name':'john', 'age':26, 'gender':'male'}
getKey(user.male) // Would return 'gender'?
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法来获得它或需要一个功能?
直接的方法是简单地循环对象并检查值:
getKey = function (object, value) {
for (var key in object) {
if (!object.hasOwnProperty(key)) continue;
if (object[key] == value) return key;
}
return undefined;
}
Run Code Online (Sandbox Code Playgroud)
演示:
> getKey({'name':'john', 'age':26, 'gender':'male'}, 'male');
'gender'
Run Code Online (Sandbox Code Playgroud)