gpt4 book ai didi

angular - 反向映射字符串枚举 Angular 4

转载 作者:搜寻专家 更新时间:2023-10-30 21:58:43 25 4
gpt4 key购买 nike

我有一个字符串枚举:

export enum TokenLength {
SIX = '6',
EIGHT = '8',
}

我需要获取字符串“SIX”或“EIGHT”,因此反向映射此枚举。我试过很多东西:

tokenLength = TokenLength;      

for (var enumMember in this.tokenLength) {
console.log("enum member: ", enumMember); //result: enum member: SIX , enum member: EIGHT
}

for (var enumMember in this.tokenLength) {
console.log("enum member: ", this.tokenLength[enumMember]); //result: enum member: 6, enum member: 8
}

这似乎工作得很好,但每当我执行以下操作时,它都不起作用。

console.log(this.tokenLength['SIX']); //result: 6
console.log(this.tokenLength.SIX); //result: 6
console.log(this.tokenLength[this.tokenLength.SIX]); //result: undefined
console.log(this.tokenLength['6']); //result: undefined
console.log(this.tokenLength[0]); //result: undefined

我需要“未定义”结果为“六”我该怎么做?提前致谢。

最佳答案

您可以查看 typescript 文档。 typescript

 enum Enum {
A
}
let a = Enum.A;
let nameOfA = Enum[a]; // "A"

要使其以这种方式工作,您必须删除枚举中的引号:

enum TokenLength {
SIX = 6,
EIGHT = 8
}

希望对你有帮助

关于angular - 反向映射字符串枚举 Angular 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49734662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com