javascript - 如何从标题包含给定单词的 json 文件中分离所有标题?
问题描述
这是一个函数,只是将道具返回给 React 中名为 box 的元素。这MovieDatabase
是一个 JSON 文件,其中包含不同电影的标题。我只想看那些名字包括“星球大战”的电影。
const showMovies = MovieDatabase.map((movie) =>{
const aa = movie.title.contains("Star Wars")
return (
<Box movieName = {aa} />
);})
解决方案
我认为最好与组件分开过滤。
这里有一个方法:
// assuming the DB is something like this based on your .map example
const MovieDatabase = [
{ title: 'Star Wars: II', id: 0 },
{ title: 'Star Wars: I', id: 1 },
{ title: 'Star Wars: IV', id: 2 },
{ title: 'Moon', id: 3 }
]
// array of star wars movies
const starWars = MovieDatabase.filter(movie => movie.title.includes('Star Wars'))
// component to render movies ( doesn't care about anything but rendering )
const MovieBoxes = movies => movies.map(movie => (
<Box key={movie.id} movieName={movie.title} />
)
您可以通过将过滤器包装在一个接受关键字并将其传递给包含的函数中来进一步改进它,以便您可以找到任何电影。
推荐阅读
- kubernetes - Apache Airflow 或 Argoproj 用于 kubernetes 上的长时间运行和 DAG 任务
- elasticsearch - ELK - 如何在特定索引上向单个用户提供权限
- dns - bind9 配置反向dns
- java - 在测试中排除一些bean
- sql - 如果超过一天并且仅当它以某些字符开头时如何删除视图?
- php - 如何使用phpmailer成功发送邮件
- angular - Angular 8 和 Webpack 的例程
- sql - 如何获取每个产品的最新文档?
- html - 需要帮助修复 CSS 中的“预期属性值”(初学者/业余)
- r - hunspell pakckage中添加词汇的方法是什么