Como usar uma variável em uma expressão regular em JavaScript?
Olá a todos! Sou novo em JavaScript e estou tentando escrever uma função de busca simples. Tenho um array de strings e quero encontrar todos os elementos que contêm uma determinada palavra. A palavra para busca é passada como argumento da função.
O problema é que não consigo entender como inserir uma variável dentro de uma expressão regular. Quando escrevo assim:
```javascript
function searchItems(array, searchTerm) {
const regex = /searchTerm/gi;
return array.filter(item => regex.test(item));
}
```
...ele procura literalmente a string "searchTerm", e não o valor da variável. Tentei usar `new RegExp()`, mas ainda assim algo não está funcionando. Aqui está meu código atual:
```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')); // Esperado: ['Apple', 'Avocado']
```
Ele parece funcionar, mas notei algo estranho