ReplaceAll में जावास्क्रिप्ट पाश के लिए बहुत धीमी है, की तलाश के लिए एक वैकल्पिक दृष्टिकोण

0

सवाल

मैं कर रहा हूँ एक ब्राउज़र एक्सटेंशन की जगह है कि सभी अपवित्र शब्दों के साथ एक वेबसाइट पर ***. ठीक है अब, मैं एक विशाल जे एस सरणी के साथ सभी अपवित्र शब्द (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

अब बस प्रार्थना है कि वेबसाइट का उपयोग नहीं करता है कुछ भी माना जाता है एक "अपवित्र शब्द" अपने मार्कअप । कक्षाएं, आईडी, फ़ाइल नाम, शायद यह भी वास्तविक कोड कर सकते हैं सभी शिकार गिर करने के लिए इस प्रतिस्थापन और नष्ट कैसे एक साइट में काम करता है प्रक्रिया
VLAZ

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में