Могу ли я получить ключ перечисления из присвоенного значения при использовании строк перечисления? [дубликат]

Dec 08 2020

Могу ли я получить ключ перечисления из присвоенного значения при использовании строк перечисления - мне нужно узнать, какой ключ используется, а не строковое значение.

Пример:

enum Widgets {
   Foo: 'this is foo',
   Bar: 'this is bar'
}

const current = Widgets.foo;
console.info(current); // 'this is foo';

// later on, I need to get the key of the enum used in current i.e. the value 'Foo', not the string value 'this is foo'

Демо Codesandbox

Ответы

1 HienNguyen Dec 08 2020 at 07:48

Вы можете получить ключ перечисления, используя

let key = Object.keys(Widgets)[Object.values(Widgets).indexOf(current)]

Демо https://stackblitz.com/edit/typescript-av8rkx