Javascript 枚举:如何通过 属性 值进行查找?
Javascript enum: How to do a lookup by property value?
我有一个这样定义的枚举:
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' 属性。我如何重构它以便我可以访问枚举上定义的属性?
由于 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;
}
}
}
我有一个这样定义的枚举:
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' 属性。我如何重构它以便我可以访问枚举上定义的属性?
由于 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;
}
}
}