如何解决如何将字符串转换为枚举和类型?
这个问题似乎类似于the one about converting strings to enums,但我的情况要复杂一些。我在上面有两个不同的枚举和另一个和式:
enum InteractiveStep {
Pick = 'PICK',Ban = 'BAN'
}
enum AutoStep {
RandomPick = 'RANDOM_PICK',LastPick = 'LAST_PICK'
}
type ActionStep = InteractiveStep | AutoStep
如何检查ActionStep
类型中是否包含任意字符串,并安全地对其进行转换?
解决方法
使用this discussion,我可以提出以下建议:
enum InteractiveStep {
Pick = 'PICK',Ban = 'BAN'
}
enum AutoStep {
RandomPick = 'RANDOM_PICK',LastPick = 'LAST_PICK'
}
type ActionStep = InteractiveStep | AutoStep
const ActionStep = {...InteractiveStep,...AutoStep}
const inputString: string = 'RANDOM_PICK'
const inputStep: ActionStep = ActionStep[inputString as keyof typeof ActionStep];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。