【发布时间】:2021-06-19 11:41:22
【问题描述】:
我正在尝试迭代这个枚举。 但是,我面临从枚举中提取值的问题。 如果我给它一个这样的硬编码字符串,我可以提取值。
export enum Values {
ACE = 'A',
TWO = '2',
THREE = '3',
FOUR = '4',
FIVE = '5',
SIX = '6',
SEVEN = '7',
EIGHT = '8',
NINE = '9',
TEN = '10',
JACK = 'J',
QUEEN = 'Q',
KING = 'K',
}
console.log(Values['TWO']);
但只要我给它枚举中的多个字符串值,如下所示。
export enum Values {
ACE = 'A',
TWO = '2',
THREE = '3',
FOUR = '4',
FIVE = '5',
SIX = '6',
SEVEN = '7',
EIGHT = '8',
NINE = '9',
TEN = '10',
JACK = 'J',
QUEEN = 'Q',
KING = 'K',
}
for (let value in Values) {
console.log(Values[value]);
}
它给出了以下错误:
error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'typeof Values'.
No index signature with a parameter of type 'string' was found on type 'typeof Values'.
25 console.log(Values[value]);
对 TypeScript 来说是全新的,所以可能会遗漏一些东西。
向任何能给我一些指导的人干杯。
【问题讨论】:
标签: javascript typescript loops enums