Eu estou fazendo uma extensão do navegador que substitui todas as palavras profanas em um site com ***
.
Agora, eu tenho uma enorme JS array com todas as palavras profanas (2k+ palavras).
Eu estou usando um loop for para fazer um loop através de cada palavra no profaneWords
matriz e substituir todas as ocorrências de uma palavra correspondente com ***
:
for (let i = 0; i < profaneWords.length; i++) {
let element = profaneWords[i];
document.body.innerHTML = document.body.innerHTML.replaceAll(
element,
"***"
);
}
Com isso, ele leva cerca de 5 minutos para o meu navegador para procurar e substituir todas as ocorrências de todas as palavras profanas em um site, com ***
. Mas, antes de ser feito o mapeamento sobre as palavras, as alterações não são feitas para o site. Assim, por 5 minutos, parece que nada está acontecendo.
Eu testei este método com outra matriz que foi muito menor (10 palavras) e a substituição foi quase que instantânea.
Existe uma melhor maneira que eu poderia ir sobre como implementar esta para minha matriz, com mais de 2000 elementos?