Итерировать по enum, присваивать элемент enum как параметр - PullRequest
0 голосов
/ 26 мая 2018

Я хочу перебрать перечисление.Когда я перебираю это перечисление, я получаю ключ и значение, но я хочу только добавить Intances of Skill к массиву навыков с ключами.

enum eSkills {
    ACROBATICS = <any>"Acrobatics",
    APPRAISE = <any>"Appraise",
    BLUFF = <any>"Bluff",
    CLIMB = <any>"Climb",
    CRAFT = <any>"Craft"
}

class Skill {
    constructor(name: eSkills) {
        this.name = name;
    }

    name: eSkills;
}

let skills: Skill[] = [];

for (let skill in eSkills) {
    //TODO create new instance of Skill and push to skills array
}

Мне нужно обратное отображение перечисления.

1 Ответ

0 голосов
/ 26 мая 2018

Полагаю, вы уже пробовали это безрезультатно:

skills.push(new Skill(skill)); // Error: Argument of type 'string' is not assignable to parameter of type 'eSkills'.

Это можно исправить с помощью утверждения типа (as eSkills):

skills.push(new Skill(skill as eSkills));

демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...