Avoir un flux dans lequel l'objet contient un tableau de chaînes. J'ai un filtre qui est un autre tableau de chaîne. Le filtre doit uniquement émettre les éléments dont l'intersection du tableau n'est pas vide.Rxjs/Typescript: Essayer de filtrer un flux à l'intersection d'un tableau
Ceci est le code de pseudo de ce que je veux faire.
genreFilter: string["poetry", "fiction"]
this.books$ = this.bookInventoryService.getBooks()
.filter(book => {
for(let genre of genreFilter) {
if (book.genres.contains(genre) {
return true;
}
}
});
Existe-t-il un moyen de faire une intersection de tableaux?
Les 'bookInventoryService.getBooks()' retourne un '' Observable de sorte que le lambda 'this.books $ = '' this.bookInventoryService.getBooks() ' ' .filter (book => book.genres' ne semble pas fonctionner car il dit que 'book' est aa' book [] 'pas un individu objet 'book' ai-je besoin d'un 'foreach' sur le livre? –
vous ne devriez pas avoir besoin, vous pouvez simplement aplatir le tableau de livres:' bookInventoryService.getBooks(). flatMap (books => livres) .filter (/ ** /) ' – paulpdaniels