Javascript 有没有办法得到可观测阵列的最后10个物体

Javascript 有没有办法得到可观测阵列的最后10个物体,javascript,angular,typescript,observable,ngrx,Javascript,Angular,Typescript,Observable,Ngrx,我正在使用ngrx实体适配器selectAll。它返回一个类型为Object(event)的可观察列表。 我只想得到它的最后10个对象。 这是我的选择器 const geteventsFeatureState = createFeatureSelector<EventState>( "events" ); export const getEvents = createSelector( geteventsFeatureState, eventAdap

我正在使用
ngrx
实体适配器
selectAll
。它返回一个类型为Object(event)的可观察列表。 我只想得到它的最后10个对象。 这是我的选择器

const geteventsFeatureState = createFeatureSelector<EventState>(
  "events"
);

export const getEvents = createSelector(
  geteventsFeatureState,
  eventAdapter.getSelectors().selectAll
);

export const getEventLoading = createSelector(
  geteventsFeatureState,
  (state: EventState) => state.loading
);

export const getEventLoaded = createSelector(
  geteventsFeatureState,
  (state: EventState) => state.loaded
);

export const getError = createSelector(
  geteventsFeatureState,
  (state: EventState) => state.error
);
它已经返回了我的所有对象,我想选择最后10项
任何人都可以帮助我

您可以使用带有道具的选择器根据一些外部条件获取数据。在选择器中,我们可以将道具传递给选择器功能,如下所示:

选择器.ts

  export const getLastEvents = createSelector(
      getCounterValue,
      (events, props) => events.slice(Math.max(events.length - props, 1))
    );
在组件中,您可以通过道具选择方法来获取最后10个数据

ngOnInit() {
    this.event$ = this.store.pipe(select(fromEvent.getLastEvents,10));
}
ngOnInit() {
    this.event$ = this.store.pipe(select(fromEvent.getLastEvents,10));
}