提问者:小点点

如何在javascript中使用数组中的正则表达式进行搜索[重复]


我正在尝试实现搜索筛选器,并且我有数组:

Var aa = ["Sage","Salsify (usually Purple Salsify or Oyster Plant)"];

var regex = RegExp("[a-zA-Z]?");
var wordList = vegetables.filter((elem, index)=>{
    return regex.test(elem);
})

我认为这将只匹配字符,但是当用户键入Salsify时,如何获得完整字符串“Salsify(通常为紫色Salsify或牡蛎植物)”


共2个答案

匿名用户

对于简单的筛选器,可以使用string.prototype.includes():

null

var aa = ["Sage","Salsify (usually Purple Salsify or Oyster Plant)"];
var query = 'salsify';

var wordList = aa.filter((elem, index)=> elem.toLowerCase().includes(query.toLowerCase()));
console.log(wordList);

匿名用户

如果这样做:

aa.filter((e) => /.*Salsify.*/.test(e))

您将获得出现字符串salsifyaa的每个元素。