我想通过输入空格来过滤列表(就像任何其他字符一样)。
目前的代码是:
var search = $.trim($(this).val().replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"));
如果我的列表中有vege tables
并且我输入了空格,或者字母e
和空格,或空格和字母t
,则该列表应过滤显示{{1} }。
我试图将\ s添加到代码中,但它没有像我希望的那样工作:
vege tables
我错过了什么吗?
答案 0 :(得分:0)
以下是如何根据模式过滤蜇伤列表的示例。
function filter(list, pattern) {
return list.filter(function(item) {
return pattern.test(item);
});
}
const list = ['vege tables', 'man eater', 'word'];
console.log('Current list: ', list);
var pattern = ' e';
console.log('Filter by: "' + pattern + '"');
pattern = new RegExp(pattern, 'gi'); // convert the pattern to regex
console.log(filter(list, pattern)); // get filtered list, ['man eater']