angular : Как сортировать полученные данные из api по дате

#angular #api #date #sorting #filter

#угловой #API #Дата #сортировка #Фильтр

Вопрос:

Я получаю обзоры фильмов из NYT api и хочу отсортировать результат по дате в порядке убывания, как я могу добавить этот фильтр ?

Обслуживание

 import { HttpClient, HttpParams } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable, throwError } from 'rxjs'; import { catchError, retry } from 'rxjs/operators'; import { GlobalConstants } from '../common/global-constants'; import {map} from 'rxjs/operators'; @Injectable() export class ReviewsService {  apiUrl = GlobalConstants.apiURL;   constructor(private http: HttpClient) {  }   getReviews(): Observablelt;anygt; {  return this.http.get(this.apiUrl).pipe(map((response:any)=gt;response.results))  } }  

компонент

 import { Component, OnInit } from '@angular/core'; import { ReviewsService } from 'src/app/services/reviews.service'; @Component({  selector: 'app-reviews',  templateUrl: './reviews.component.html',  styleUrls: ['./reviews.component.css'] }) export class ReviewsComponent implements OnInit {   data: any;  constructor(private reviewsService: ReviewsService) { }   ngOnInit() {  this.getReviews();  }   getReviews() {  this.reviewsService.getReviews().subscribe({  next: (data: any) =gt; {  this.data = data;   console.log(typeof this.data);  console.log(this.data);      },  error: (err: any) =gt; {  console.log(err);  },  complete: () =gt; {  console.log('complete');  }  });  }  }  

Ответ №1:

к вашим услугам:

 getReviews(): Observablelt;anygt; {  return this.http.get(this.apiUrl).pipe(map((response: any)   =gt; response.results.sort((dataA, dataB) =gt; {  return (( new Date(dataA['publication_date'])) - ( new   Date(dataB['publication_date'])));  })))  }  

Комментарии:

1. в этом есть смысл, спасибо Белларей