javascript - ES6 : Filter data with case insensitive term

标签 javascript filter ecmascript-6 case-insensitive

这就是我按标题值过滤一些数据的方式:

data.filter(x => x.title.includes(term))

这样的数据

Sample one
Sample Two
Bla two

将被“减少”为

Bla two

如果我按两个过滤。

但是我需要得到过滤后的结果

Sample Two
Bla two

最佳答案

您可以使用不区分大小写的正则表达式:

// 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));

也许更简单和更安全的方法是将字符串转换为小写并进行比较:

data.filter(x => x.title.toLowerCase().includes(term.toLowerCase()))

关于javascript - ES6 : Filter data with case insensitive term,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44469548/

相关文章:

javascript - Yield 无法解析 Promise node.js

javascript - jQuery 的动态宽度 = 高度

javascript - 将 Python 代码合并到 JavaScript Web 应用程序中

javascript - Angular Directive(指令)可以将参数传递给指令属性中指定的表达式中的函数吗?

javascript - 根据另一个数组的键过滤数组

javascript - 过滤 Javascript/Lodash 中的嵌套属性

reactjs - React、ES6 - getInitialState 是在普通 JavaScript 类上定义的

javascript - javascript 中的 Map 如何导致内存泄漏,而 WeakMap 则不会?

javascript - 使用 PHP 对表格进行排序

list - 一个 Haskell 函数,它接受两个字符串并根据第一个字符串过滤第二个字符串