Я пытаюсь выполнить вызов, и я застрял: у меня есть один большой массив фильмы , который имеет внутри имя-жанра , который является другим массивом. Я хочу отфильтровать это фильмов , проверив его genreName по выбранным жанрам из флажков, сохраненных в массиве selectedGenres Мои трудности возникают здесь, когда мне приходится проверять каждый genreName массив против всех элементов в selectedGenres . Задача состоит в том, чтобы в selectedGenres было несколько жанров, чтобы показывать только фильмов , которые имеют всех этих выбранных жанров, а не только один из них.
код:
const movies = [
{title:"movie 1",genreName:["Action", "Drama"]},
{title:"movie 2",genreName:["Action", "Fantasy", "Adventure"]},
{title:"movie 3",genreName:["Action", "Fantasy", "Science Fiction"]},
{title:"movie 4",genreName:["Action", "Drama", "Thriller"]}
]
const selectedGenres = ["Action","Drama"]; //based on this selection, only movie1 and movie4 should be in the filteredMovies variable.
const filteredMovies = movies.filter(movie => { //loop through each movie
movie.genreName.filter(genre => { // loop through each item in genreName array
return selectedGenres.forEach(name => { // loop through each item in selectedGenres array
return name.indexOf(genre) > -1;
});
});
});