javascript - 对数组中的任何字符串使用“包含”
问题描述
我有一个搜索功能,可以从搜索栏中获取输入/查询文本。我希望它适用于多个搜索词,例如“javascript react”或更多或更少的搜索词。输入以状态(“查询”)保存在数组中,并与对象“工作项”及其属性“描述”进行比较。
让我们说:
workitem.description.includes(this.state.query)
在哪里
this.state.query // = ["react", "javacript"]
以上仅适用于某些情况。我想看看数组/对象是否包含状态的任何元素。怎么做?
解决方案
// if needed, do a
// if (!workitem.description || !this.state.query) {
// return false;
// }
考虑description
是一个数组:
return workitem.description.some(desc => this.state.query.indexOf(desc) >= 0)
考虑description
是一个字符串:
return workitem.description
.split(' ')
.some(desc => state.query.indexOf(desc) >= 0);
推荐阅读
- php - GET 小写字母和大写字母 PhP
- mysql - MySQL 查询将自身限制在某些日期 - 为什么?
- python - Plotly:如何创建一个下拉按钮,对折线图中的线进行分组?
- magento - 如何在magento 2中加载管理网格时在条件下应用过滤器
- android - 我需要互联网来模拟手机或模拟器上的颤振吗?
- c++ - 试图检索 time_t 等于 1 秒。从 tm 等于 Thu Jan 01 00:00:00 1970
- visual-studio-code - VSCode在终端功能中按Ctrl+单击“文件,行”,如Ctrl+单击“文件:行”
- node.js - 使用 Multer-S3 将文件上传到 AWS-S3 存储桶时出现“拒绝访问”错误
- java - 后按时从 onCreate() 开始片段
- python - 无法在 tkinter 中正确关闭 GUI 窗口