сопоставить объекты двух таблиц с ключами - PullRequest
0 голосов
/ 10 марта 2020

У меня есть два объекта, которые я получаю из API.

user = {
    userTypeId: 1
    userType: null
}
userTypes = {
    {id:1, type:'admin}
}

Я предполагаю, что при моем первом вызове API, чтобы получить пользователя, я должен снова вызвать API, чтобы получить тип

    let user;
    this.dataService.GetUser().subscribe(rps => {
        user = rps;
        this.dataService.GetUserType(rps.id).subscribe(userTypeRsp =>
        user.userType = userTypeRsp ////////////this is where I'm not sure what to do
        });
    });

Но как можно сопоставить отношения между объектами, чтобы userType не был нулевым? Я хочу сделать что-то вроде C# с Linq

user.userType = userTypeRsp.Where(x => x.id = user.userTypeId)

или что-то подобное

1 Ответ

2 голосов
/ 10 марта 2020

Эквивалент Where равен .find или .filter. Поскольку вы ищете один элемент, вы хотите .find

Пример (предполагается, что usertTypeResp является Array):

user.userType = userTypeRsp.find(x => x.id = user.userTypeId)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find

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