【发布时间】:2021-03-21 02:46:07
【问题描述】:
在我的 react 应用中,我的用户看起来像这样:
{ username: 'admin', genres: [{name: 'Music', id: 1}, {name: 'Art', id: 2}] }
还有像这样的视频:
{ title: 'cool video', genres: [{name: 'Music', id: 1}, {name: 'Technology', id: 3}] }
我正在尝试编写一个函数,该函数将返回一个包含单个用户内任何类型的视频对象数组。到目前为止,我已经能够硬编码一个解决方案,但是如果用户的类型数量错误,它就会中断,所以我正在寻找一个更简洁的解决方案。这是我目前所拥有的:
function filterVideos() {
const userGenres = []
user.genres.forEach(genre => {
userGenres.push(genre.name)
})
const filteredVideos = videos.filter(video => {
return video.genres.find(o => o.name === userGenres[0])
|| video.genres.find(o => o.name === userGenres[1])
|| video.genres.find(o => o.name === userGenres[2])
})
return filteredVideos}
【问题讨论】:
标签: javascript arrays reactjs object filter