Это код машинописного текста, я хочу установить перечисление в объекте Event, просмотрев его через значение.
I have this enum -
export enum EVENT_TYPE_ENUM {
EVENT_TYPE_ONE = "evt.1",
EVENT_TYPE_TWO = "evt.2",
}
I have this object -
export class Event{
private eventType: EVENT_TYPE_ENUM;
public getEventType(): EVENT_TYPE_ENUM {
return this.eventType;
}
public setEventType(eventType: EVENT_TYPE_ENUM): void {
this.eventType = eventType;
}
}
Я хочу установить eventType для своего объекта Event, выполнив поиск по значению EVENT_TYPE_ENUM. например, я получил значение как «evt.1», теперь я хочу найти EVENT_TYPE_ENUM и установить eventType, метод установки принимает только тип как EVENT_TYPE_ENUM.
const event = new Event();
event.setEventType(); //set value here by searching EVENT_TYPE_ENUM by value
of evt.1
Мне сложно понять этот вопрос, потому что это не похоже на минимальный воспроизводимый пример. Хотите сделать event.setEventType("evt.1")? Или event.setEventType(asEnum(EVENT_TYPE_ENUM,"evt.1"))?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете перечислить каждую запись перечислений с помощью Object.keys:
Object.keys(MyEnum).forEach(key => {
console.info(`EVENT_TYPE_ENUM.${key} = ${MyEnum[key as keyof typeof MyEnum]}`);
})
Поскольку Typescript имеет соответствующее представление данных, как вы заявили, достаточно создать следующим образом:
EVENT_TYPE_ENUM["evt.1"] // EVENT_TYPE_ONE
В вашем случае это должно быть так:
const event = new Event()
event.setEventType(EVENT_TYPE_ENUM["evt.1"])
event.setEventType (EVENT_TYPE_ENUM ["evt.1"]) - возвращается undefined
проверьте свой код, возможно, что-то не так с направлением. Полный пример можно посмотреть здесь: jsfiddle.net/uybx40fw
Возможный дубликат Разобрать строку как Typescript Enum