use*_*695 6 javascript filter case-insensitive ecmascript-6
这是我data按标题值过滤的方法:
data.filter(x => x.title.includes(term))
Run Code Online (Sandbox Code Playgroud)
所以数据就像
Sample one
Sample Two
Bla two
Run Code Online (Sandbox Code Playgroud)
将被"减少"为
Bla two
Run Code Online (Sandbox Code Playgroud)
如果我过滤了two.
但我需要得到过滤结果
Sample Two
Bla two
Run Code Online (Sandbox Code Playgroud)
Tro*_*ott 12
您可以使用不区分大小写的正则表达式:
// Note that this assumes that you are certain that `term` contains
// no characters that are treated as special characters by a RegExp.
data.filter(x => new RegExp(term, 'i').test(x.title));
Run Code Online (Sandbox Code Playgroud)
一种更简单,更安全的方法是将字符串转换为小写并进行比较:
data.filter(x => x.title.toLowerCase().includes(term.toLowerCase()))
Run Code Online (Sandbox Code Playgroud)