Проверьте, находится ли строка внутри перечисления - PullRequest
1 голос
/ 23 сентября 2019

У меня есть некоторые перечисления что-то вроде этого

export enum Types {
  advance = 'lolipo',
  test = 'testing',
  city = 'cityNumber'
}

И у меня есть некоторая проверка, существует ли значение в enum

 const description = 'advance';
 const isProperType = Object.values(Types).includes(description);

Ошибка, которую я получил, выглядит следующим образом

Аргумент типа 'string' не может быть назначен параметру типа 'Types'.

Ответы [ 2 ]

3 голосов
/ 23 сентября 2019

Когда перечисление передается в javascript, будет создан следующий объект

export var Types;
(function (Types) {
    Types["advance"] = "lolipo";
    Types["test"] = "testing";
    Types["city"] = "cityNumber";
})(Types || (Types = {}));

По сути, это объект с некоторыми ключами.Таким образом, Вы можете просто использовать следующее выражение

description in Types

console.log(description in Types); print true

0 голосов
/ 23 сентября 2019

Используйте выражение как это -

Object.values ​​(ENUM) .include (ENUM.value)

...