ReplaceAll 에서 JavaScript 에 대한 반복이 너무 느리고를 위한 대체 접근법

0

질문

내가 만드는 브라우저 확장자를 대체하는 모든 비속어 사이트 ***. 지금,나는 거대한 JS 배열된 모든 비속어(2k+어).
나는 루프를 사용하여 반복을 통해 각각의 단어에 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 요소는?

arrays for-loop javascript replace
2021-11-24 06:34:46
1

최고의 응답

1

당신이 사용하여 고려 RegExp?

const str = 'Waiting on ass, asset , and tit titillation, ass.';
const profaneWords = ['ass', 'tit'];


const regex = new RegExp('\\b'+profaneWords.join('\\b|\\b')+'\\b', 'g');
var newstr =  str.replace(regex, '***');
console.log(newstr);

2021-11-24 08:26:43

지금 바로 기도하는 웹 사이트를 사용하지 않는것으로 간주됩"욕되게 말씀에서"태그에 있습니다. 클래스,Id,파일 이름은 어쩌면 실제 코드는 모두 피해자가 이를 보충하고 파괴하는 방법은 사이트에서 작동하는 프로세스
VLAZ

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................