ReplaceAll ในจาวาสคริปต์สำหรับวงคือช้าเกินไป,มองหาทางเข้าใกล้

0

คำถาม

ฉันกำลังทำเป็นเบราว์เซอร์ส่วนขยายนั่นก็แทนที่ทั้ง profane คำพูดอยู่บนเว็บ ***. ตอนนี้ฉันต้องเป็นเรื่องใหญ่ JS อาเรย์กับทั้งหมด profane คำ(2k+คำพูด).
ฉันกำลังใช้สำหรับวงที่วงจในทุกคำพูดที่ profaneWords อาเรย์และแทนที่มีตัวอย่างขอที่เข้าคู่กับ ***:

    for (let i = 0; i < profaneWords.length; i++) {
      let element = profaneWords[i];
      document.body.innerHTML = document.body.innerHTML.replaceAll(
        element,
        "***"
      );
    }

กับเรื่องนี้มันต้องใช้ถึง 5 นาทีสำหรับของเบราว์เซอร์ที่จะค้นหาและแทนที่ทั้งหมดโหของทั้งหมด profane คำพูดอยู่บนเว็บไซต์กับ ***. แต่ก่อนที่มันจะเสร็จแล้ววางแผนจะจเอ่ยคำกล่าวแล้วสาปส่งไม่เปลี่ยนกลับไปเป็นเว็บไซต์ ดังนั้นสำหรับ 5 นาทีมันดูเหมือนไม่มีอะไรเกิดขึ้น

ฉันทดสอบนี้วิธีการกับคนอื่อาเรย์นั่นมันเล็กกว่านี้(10 คำพูด)และแทนที่เกือบจะทันที.

มีวิธีที่ดีกว่าฉันอาจจะไปเรื่อ implementing นี้สำหรับของฉันอาเรย์กับทางส่วนประกอบ 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

ตอนนี้ก็สวดมนต์ที่เว็บไซต์ขอไม่ใช้มีอะไรพิจารณาว่าเป็น"profane คำว่า"ในภาษามาร์คอัป language. เรียนวิชาก็น่าจะเป็นบัตรประจำตัวยชื่อแฟ้มบางทีอาจจะจริงนรหัสทั้งหมดถอยของเหยื่อนี่แทนที่และทำลายยังเป็นเว็บไซต์ทำงานอยู่ในระบวนการ
VLAZ

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่