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' 属性。我如何重构它以便我可以访问枚举上定义的属性?

由于 appAPP_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;
         }
    }
 }