使用 Underscore.js 进行不区分大小写的数组过滤
Using Underscore.js for case insensitive array filtering
如何使用 Underscore
过滤字符串数组进行全文搜索?
我的意思是匹配任意数量字符的过滤器,从字符串中的任何地方开始(不仅仅是从开头)。
该函数对于自动完成功能很有用。
例如,在全名数组中,查找中间名或姓氏。
首先创建一个like
下划线mixin
。此函数将使用正则表达式比较字符串(有必要转义正则表达式的特殊字符)。
_.mixin({
like: function(text, likeExpr) {
var regex = new RegExp(text.replace(/[-[\]{}()*+?.,\^$|#\s]/g, '\$&'), 'i');
return regex.test(likeExpr);
}
});
可按如下方式使用:
_.like('whatever', 'Something something WhaTEvEr something.'); // true
那么,你可以使用这个函数来过滤一个数组:
_.filter(array, function(text) {
return _.like('string to match', text);
});
如何使用 Underscore
过滤字符串数组进行全文搜索?
我的意思是匹配任意数量字符的过滤器,从字符串中的任何地方开始(不仅仅是从开头)。
该函数对于自动完成功能很有用。 例如,在全名数组中,查找中间名或姓氏。
首先创建一个like
下划线mixin
。此函数将使用正则表达式比较字符串(有必要转义正则表达式的特殊字符)。
_.mixin({
like: function(text, likeExpr) {
var regex = new RegExp(text.replace(/[-[\]{}()*+?.,\^$|#\s]/g, '\$&'), 'i');
return regex.test(likeExpr);
}
});
可按如下方式使用:
_.like('whatever', 'Something something WhaTEvEr something.'); // true
那么,你可以使用这个函数来过滤一个数组:
_.filter(array, function(text) {
return _.like('string to match', text);
});