Как преобразовать регистр в функцию карты? - PullRequest
0 голосов
/ 06 августа 2020

Мне нужно преобразовать этот фрагмент кода в карту, которая возвращает соответствующую функцию,

async getData(id: number, userType: UserTypeEnum){
    switch (userType) {
        case USER:
           return this.getUserData(id);
        case ADMIN:
           return this.getAdminData(id);
        case CLIENT:
           return this.getClientData(id);
        default:
           break;
    }
}

userType - это перечисление с полями пользователя, администратора и клиента,

может кто-нибудь скажите или покажите мне, как это сделать?

спасибо за любую помощь

1 Ответ

0 голосов
/ 06 августа 2020

Да. Учитывая, что USER, ADMIN, CLIENT - это переменные со строками «USER», «ADMIN» и «CLIENT» соответственно, решение будет таким:

arr.map((e) => this[`get${userType[0]+userType.slice(1).toLowerCase()}Data`]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...