【发布时间】:2020-01-09 14:42:10
【问题描述】:
我有 2 个不同的枚举,给定 1 个枚举,我想检查该值是否存在于另一个枚举中并返回键。
function foo(enum2Value: enum2) {
const enum1Key = Object.keys(enum1).find((key: any) => {
return enum1[key] === enum2;
});
return enum1Key;
}
此代码有效。但我必须对任何一个施放钥匙。如果我使用字符串,那么 enum1[key] === enum2 不起作用。比较两个不同的枚举有什么更好的方法
【问题讨论】:
-
你违背了语言,可能会滥用枚举。您通常不依赖枚举的基础值。这就是为什么具有相同值的枚举成员不被认为是相同的......正如您所知,您可能应该只处理地图
-
考虑将此代码设置为minimal reproducible example,其中唯一存在的问题是您需要帮助的问题;目前,
enum1和enum2尚未定义。
标签: typescript