javascript - 如何使用数组的每个成员作为参数来搜索字符串
问题描述
我想使用数组的每个成员搜索字符串
我可以使用 .includes() 按字符串搜索字符串,但想发送一个字符串数组并按每个成员搜索
// 当前搜索整个字符串
let lsearchText = this.config.searchText.toLowerCase()
a.Categories.toString().toLowerCase().includes(lsearchText)
// 我想分别搜索拆分数组的每个成员
let lsearchText = this.config.searchText.toLowerCase().split(' ');
a.Categories.toString().toLowerCase().includes(lsearchText)
我收到错误
error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'string'.
我的全部功能
get filteredAlbumListArray() {
if (this.config.searchText && this.config.searchText.length > 1) {
let lsearchText = this.config.searchText.toLowerCase().split(' ');
return this.albumList.filter((a) =>
a.Frequency.toLowerCase().includes(lsearchText)
||
a.Year.toString().toLowerCase().includes(lsearchText)
||
a.Title.toLowerCase().includes(lsearchText)
||
a.Categories.toString().toLowerCase().includes(lsearchText)
||
a.Description.toLowerCase().includes(lsearchText)
||
a.FieldNames.replace(/_/g, ' ').toLowerCase().includes(lsearchText)
);
}
return this.albumList;
}
因此,如果我输入 Weekly 2019 id 希望返回既是 Weekly 又是 2019 的结果
解决方案
尝试这样的事情
const lsearchTexts: string[] = this.config.searchText.toLowerCase().split(' ');
lsearchTexts.some(lsearchText => a.Categories.toString().includes(lsearchText));
推荐阅读
- matlab - 绘制 PLC 背景噪声
- c# - 我无法将游戏对象的位置转换为 vector3 变量
- xamarin - 运行时的移动设备或模拟器
- npm - 使用 Latex CLSI 在线编译 .tex 文件
- python - 我在 Django + AWS EB 有 TemplateDoesNotExist
- android - API 28 (P) 的 Android 设计支持库不起作用
- r - R_Error in data[, 1] 中的 CIR 参数校准:维数不正确
- vba - VBA:使用从 excel 到 Word 的过滤行运行宏
- javascript - JS在几句话后剪切文本
- python - matplotlib中x轴上的“原点”和点“0”之间的差距?