问题描述
我有这样的课
export interface ILanguage {
shortName: string;
shortNameLowercase: string;
fullName: string;
}
export class Language {
static readonly ENGLISH: ILanguage = { shortName: 'EN',shortNameLowercase: 'en',fullName: 'ENGLISH' };
static readonly DUTCH: ILanguage = { shortName: 'NL',shortNameLowercase: 'nl',fullName: 'DUTCH' };
static readonly FRENCH: ILanguage = { shortName: 'FR',shortNameLowercase: 'fr',fullName: 'FRENCH' };
}
我有这样的currentLanguage
currentLanguage = 'de';
现在我需要检查我是否尝试过currentLanguage
类语言中的存在
if (Object.values(Language).includes(currentLanguage)) {
..}
但是我做得不好
解决方法
改用Object.keys。 Object.keys(Language)
将给您["ENGLISH","DUTCH","FRENCH"]
。对于这些,您可以查找具有正确名称的语言。
Object.keys(Language).some(k => Language[k].shortNameLowercase == currentLanguage)