检查出口类中的价值是否存在

问题描述

我有这样的课

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)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...