Fyo*_*dor 3 javascript typescript
编辑
正如评论所暗示的,Enum 不是 JavaScript 的一部分,而是 TypeScript 的一部分。我故意留下原标题,因为我可能会犯错误。
我有两个具有相同键但不同值的枚举。
enum RowStates {
editing = 0,
sentToApproval,
approved
// ...
}
enum RowColors {
editing = '#ffffff',
sentToApproval = '#ffffcc',
approved = '#ccffb3'
// ...
}
Run Code Online (Sandbox Code Playgroud)
我有一些功能可以进行转换:
function Convert (rowState) {
// What should be here to return rowColor?
// Using switch (rowState) is obvious, but may be other solution exist?
}
Run Code Online (Sandbox Code Playgroud)
TypeScript 枚举允许您进行反向映射:
enum RowStates {
editing = 0,
sentToApproval,
approved
}
enum RowColors {
editing = '#ffffff',
sentToApproval = '#ffffcc',
approved = '#ccffb3'
}
function convert(rowState: RowStates) {
return RowColors[RowStates[rowState] as keyof typeof RowColors];
}
console.log(convert(RowStates.sentToApproval)); // prints '#ffffcc'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2586 次 |
| 最近记录: |