将javascript枚举键字符串转换为值
在JavaScript代码中,我定义了以下枚举:将javascript枚举键字符串转换为值,javascript,Javascript,在JavaScript代码中,我定义了以下枚举: MyMessageIds = { UndefinedId : 0, FilenameId : 1, BuildFileId : 2, MovementArgsId : 3, MoveId : 4, ExecuteCommandId : 5 } 在JavaScript函数中,我希望能够提供枚举键(即“MoveId”)的字符串表示形式,并返回其整数值4。那么我该怎么做呢?只需使用括号表示法: var
MyMessageIds = {
UndefinedId : 0,
FilenameId : 1,
BuildFileId : 2,
MovementArgsId : 3,
MoveId : 4,
ExecuteCommandId : 5
}
在JavaScript函数中,我希望能够提供枚举键(即“MoveId”)的字符串表示形式,并返回其整数值4。那么我该怎么做呢?只需使用括号表示法:
var MyMessageIds = {
UndefinedId : 0,
FilenameId : 1,
BuildFileId : 2,
MovementArgsId : 3,
MoveId : 4,
ExecuteCommandId : 5
};
function getValue(key) {
return MyMessageIds[key];
}
您可以创建一些实用程序方法,这些方法使用一个对象(enum)来确定如何获取键/值
var MyMessageIds={
未定义:0,
FilenameId:1,
BuildFileId:2,
MovementArgsId:3,
MoveId:4,
执行命令:5
}
函数getEnumKeys(enumType){
返回Object.keys(mymessageid);
}
函数getEnumValues(enumType){
返回getEnumKeys(enumType).map(函数(键){
返回枚举类型[key];
});
}
函数getEnumValue(enumType,键){
返回enumType[getEnumKeys(enumType).filter(函数(k){
返回键===k;
}).pop();
}
document.body.innerHTML=''+JSON.stringify({
“枚举键”:getEnumKeys(MyMessageId),
“枚举值”:getEnumValues(MyMessageId),
‘例子’:{
'MoveId':getEnumValue(MyMessageId'MoveId')
}
},空,4)+''
也许我不完全理解您的问题,但您只需使用MyMessageIds.MoveId
(或者MyMessageIds[“MoveId”]
来获取整数值。MyMessageIds[“MoveId”]---这就是我要找的…谢谢。我该怎么做?我有号码,想要名字?此外,你应该通过应用来保护“事实”枚举不受更改。使用起来很好。有没有办法将枚举值作为MyMessageID获取。MoveId@sandeep.gosavi我认为'MyMessageId.getValueByName('MoveId'))你不想用什么方法吗?