Я создаю расширение для браузера, которое заменяет все нецензурные слова на веб-сайте ***
.
Прямо сейчас у меня есть огромный массив JS со всеми нецензурными словами (2 тыс.+ слов).
Я использую цикл for для перебора каждого слова в profaneWords
массив и замените любой экземпляр соответствующего слова на ***
:
for (let i = 0; i < profaneWords.length; i++) {
let element = profaneWords[i];
document.body.innerHTML = document.body.innerHTML.replaceAll(
element,
"***"
);
}
При этом моему браузеру требуется около 5 минут для поиска и замены всех экземпляров всех нецензурных слов на веб-сайте, с ***
. Но до того, как будет выполнено сопоставление слов, на веб-сайте не будет внесено никаких изменений. Так что в течение 5 минут кажется, что ничего не происходит.
Я протестировал этот метод с другим массивом, который был намного меньше (10 слов), и замена была почти мгновенной.
Есть ли лучший способ реализовать это для моего массива с более чем 2000 элементами?