如何在 angular 中获取数组的前 500 个结果?

How to get top 500 results of an array in angular?

我有这个功能:

getAllBooks(): Observable<Book[]> {
 return this.http.get<Book[]>(url);
}

如果响应超过500条结果,我只需要获取前500条结果。我该怎么做?

试试这个:

getAllBooks(): Observable<Book[]> {
        return this.http.get<Book[]>(url).pipe(
            map((books: Book[]) => {
                if (books.length > 500) {
                    return books.slice(0, 500);
                }
                return books;
            })
        );
    }

如果你的书超过500本,你需要拼接你的数组

在组件中拼接数组:

sampleArray = [1,2,....];
sampleArray.splice(500);

使用https://angular.io/api/common/SlicePipe

<ul>
<li *ngFor="let item of items| slice:0:500"></li>
</ul>