检查导出中是否存在值 class
Check does value exits in export class
我有一些class这样的
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
是否存在于 class 语言中,我已经尝试过
if (Object.values(Language).includes(currentLanguage)) {
..}
但是我工作得不好
改用Object.keys。 Object.keys(Language)
会给你["ENGLISH", "DUTCH", "FRENCH"]
。对于这些,您可以查找具有正确名称的语言。
Object.keys(Language).some(k => Language[k].shortNameLowercase == currentLanguage)
我有一些class这样的
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
是否存在于 class 语言中,我已经尝试过
if (Object.values(Language).includes(currentLanguage)) {
..}
但是我工作得不好
改用Object.keys。 Object.keys(Language)
会给你["ENGLISH", "DUTCH", "FRENCH"]
。对于这些,您可以查找具有正确名称的语言。
Object.keys(Language).some(k => Language[k].shortNameLowercase == currentLanguage)