如何在 JavaScript 的正则表达式中使用变量?
大家好!我是 JavaScript 新手,正在尝试编写一个简单的搜索函数。我有一个字符串数组,想找出所有包含特定单词的元素。要搜索的单词作为函数参数传入。
问题是我不知道如何将变量插入到正则表达式中。当我这样写:
```javascript
function searchItems(array, searchTerm) {
const regex = /searchTerm/gi;
return array.filter(item => regex.test(item));
}
```
...它会直接搜索字符串 "searchTerm",而不是变量的值。我试过用 `new RegExp()`,但结果还是不对。这是我当前的代码:
```javascript
function searchItems(array, searchTerm) {
const regex = new RegExp(searchTerm, 'gi');
return array.filter(item => regex.test(item));
}
const fruits = ['Apple', 'Banana', 'Avocado', 'Grape'];
console.log(searchItems(fruits, 'ap')); // 期望:['Apple', 'Avocado']
```
它似乎能工作,但我注意到一个奇怪的问题