Как получить топ-500 результатов массива в угловых? - PullRequest
0 голосов
/ 28 октября 2019

У меня есть эта функция:

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

если в ответе содержится более 500 результатов, мне нужно получить только 500 лучших результатов. Как я могу это сделать?

Ответы [ 3 ]

3 голосов
/ 28 октября 2019

Попробуйте:

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 книг.

1 голос
/ 28 октября 2019

Сращивание массива в компоненте:

sampleArray = [1,2,....];
sampleArray.splice(500);
0 голосов
/ 28 октября 2019

Использование https://angular.io/api/common/SlicePipe

<ul>
<li *ngFor="let item of items| slice:0:500"></li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...