按对象内的值按角度排序数组对象

时间:2019-06-10 07:38:13

标签: javascript html json angular angular6

如何通过过滤对象内部的键值来获取对象?我下面有一些对象,我只需要提取具有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 个答案:

答案 0 :(得分:2)

我认为您正在将数组与流混淆。

您需要使用Array的filter方法,而不是observables的filter运算符。 因此,如果this._service.updatedPlayer包含您可观察的数据流,请执行以下操作:

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

this.playerSessionUpdate现在将包含您的过滤数据。

答案 1 :(得分:0)

您的管道方法@Service public class FooService { @PreAuthorize("hasRole('ROLE_ADMIN')") public List<Foo> findAll() { ... } ... } 必须返回某些内容。所以你应该做

map