Angular Sort Array Object по значению внутри объекта - PullRequest
0 голосов
/ 10 июня 2019

Как получить объект путем фильтрации значения ключа внутри объекта? У меня есть объекты ниже, где мне нужно только получить данные, которые имеют session_id: 23

данные = [{ имя: "Имя кулака", session_id: "23", Логин: "дата" }, { Имя: «Второе имя», session_id: "18", Логин: "дата" }, { имя: «третье имя», session_id: "23", Логин: "дата" }];

I tried Angular Filter and Map method to filter this out but dosent seem to work for me here.
.pipe(
    map((res) => {
        res => res.filter(res => res.season_id == 23)
        console.log(res);
    })
)

ngOnInit() {
    this._service.getData();
    this._service.updatedPlayer
        .pipe(
            map((res) => {
                res => ress.filter(res => res.season_id == 23)
                console.log(res);
            })
        )
        .subscribe(
            (playerSession) => {
                this.playerSessionUpdate = playerSession;
            }
        )

}

Ответы [ 2 ]

2 голосов
/ 10 июня 2019

Я думаю, вы путаете массивы с потоками.

Вам необходимо использовать метод фильтра Array, а не оператор фильтра наблюдаемых.Поэтому, если this._service.updatedPlayer содержит ваш наблюдаемый поток данных, сделайте следующее:

this._service.updatedPlayer.subscribe(data => {
  this.playerSessionUpdate = data.filter(res => res.season_id == 23);
}

this.playerSessionUpdate теперь будет содержать ваши отфильтрованные данные.

0 голосов
/ 10 июня 2019

ваш метод канала map должен что-то вернуть.Таким образом, вы должны на самом деле сделать

 map((res) => {
          return res.filter(res => res.season_id === 23)
     })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...