我有一个如下定义的枚举:
module.exports = {
APP_TYPES: {
TYPE_ONE: { id: 5, name: "Application One name"},
TYPE_TWO: { id: 9, name: "Application Two name"},
TYPE_THREE: { id: 6, name: "Application Three name"}
}
}
我希望能够根据属性值反向查找枚举。
lookupById: function(id) {
for (var app in this.APP_TYPES) {
if(this.APP_TYPES.hasOwnProperty(app) && app.id === id) {
return app;
}
}
}
我似乎无法访问' id'枚举的财产。我如何重构这个以便我可以访问枚举中定义的属性?
答案 0 :(得分:0)
由于app
是APP_TYPES
对象上的键,因此您必须访问APP_TYPES[app]
才能获取具有id
属性的对象
lookupById: function(id) {
for (var app in this.APP_TYPES) {
if(this.APP_TYPES.hasOwnProperty(app) && this.APP_TYPES[app].id === id) {
return app;
}
}
}