Massenersetzung von Strings in JavaScript
Die Aufgabe, mehrere Wörter in einem String durch andere zu ersetzen, stellt sich in der Programmierung häufig. Stellen Sie sich das folgende Szenario vor:
const str = "I have a cat, a dog, and a goat.";
Wir möchten diese Zeichenfolge in „Ich habe einen Hund, eine Ziege und eine Katze“ umwandeln, indem wir „Katze“ durch „Hund“ und „Hund“ durch „Ziege“ ersetzen ", und "Ziege" mit "Katze".
Problem: Aufeinanderfolgende Ersetzungen führen zu einer falschen Ausgabe
Ein Naiv Dieser Ansatz würde die mehrfache Verwendung der Methode replace() erfordern:
str = str.replace(/cat/gi, "dog"); str = str.replace(/dog/gi, "goat"); str = str.replace(/goat/gi, "cat");
Leider liefert dieser Code das falsche Ergebnis: „Ich habe eine Katze, eine Katze und eine Katze“. Dies liegt daran, dass die zweite und dritte Ersetzung die von den vorherigen vorgenommenen Änderungen überschreiben.
Lösung: Verwenden einer Karte und einer benutzerdefinierten Ersetzungsfunktion
Um dieses Problem zu beheben, Wir brauchen einen umfassenderen Ansatz, der alle Zielwörter gleichzeitig ersetzt. Dies kann erreicht werden, indem ein Kartenobjekt definiert wird, das die Ersetzungen enthält, und eine benutzerdefinierte Ersetzungsfunktion verwendet wird:
const mapObj = { cat: "dog", dog: "goat", goat: "cat", }; const str = str.replace(/cat|dog|goat/gi, (matched) => { return mapObj[matched]; });
Dynamisches Generieren des Regex-Musters
Um die Lösung zu erstellen Verallgemeinerbarer: Wir können das reguläre Ausdrucksmuster basierend auf den Schlüsseln der Karte dynamisch generieren Objekt:
const re = new RegExp(Object.keys(mapObj).join("|"), "gi"); const str = str.replace(re, (matched) => { return mapObj[matched]; });
Wiederverwendbare Funktion für den Massenstring-Ersatz
Schließlich können wir diesen Ansatz in eine wiederverwendbare Funktion kapseln:
const replaceAll = (str, mapObj) => { const re = new RegExp(Object.keys(mapObj).join("|"), "gi"); return str.replace(re, (matched) => { return mapObj[matched.toLowerCase()]; }); };
Diese Funktion nimmt eine Zeichenfolge und eine Karte von Ersetzungen und gibt die transformierte Zeichenfolge zurück.
Zusammenfassend gibt es mehrere Möglichkeiten, mehrere zu ersetzen Zeichenfolgen mit mehreren anderen Zeichenfolgen in JavaScript. Die hier vorgestellte Lösung verwendet ein Kartenobjekt und eine benutzerdefinierte Ersetzungsfunktion, um sicherzustellen, dass alle Ersetzungen gleichzeitig durchgeführt werden, was zu einer genauen gewünschten Ausgabe führt.
Das obige ist der detaillierte Inhalt vonWie kann man mehrere Strings in JavaScript effizient ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

Ja, der Motorkern von JavaScript ist in C. 1) Die C -Sprache bietet eine effiziente Leistung und die zugrunde liegende Steuerung, die für die Entwicklung der JavaScript -Engine geeignet ist. 2) Die V8-Engine als Beispiel wird sein Kern in C geschrieben, wobei die Effizienz und objektorientierte Eigenschaften von C kombiniert werden.

JavaScript ist das Herzstück moderner Websites, da es die Interaktivität und Dynamik von Webseiten verbessert. 1) Es ermöglicht die Änderung von Inhalten, ohne die Seite zu aktualisieren, 2) Webseiten durch DOMAPI zu manipulieren, 3) Komplexe interaktive Effekte wie Animation und Drag & Drop, 4) die Leistung und Best Practices optimieren, um die Benutzererfahrung zu verbessern.

C und JavaScript erreichen die Interoperabilität durch WebAssembly. 1) C -Code wird in das WebAssembly -Modul zusammengestellt und in die JavaScript -Umgebung eingeführt, um die Rechenleistung zu verbessern. 2) In der Spieleentwicklung kümmert sich C über Physik -Engines und Grafikwiedergabe, und JavaScript ist für die Spiellogik und die Benutzeroberfläche verantwortlich.

JavaScript wird in Websites, mobilen Anwendungen, Desktop-Anwendungen und serverseitigen Programmierungen häufig verwendet. 1) In der Website -Entwicklung betreibt JavaScript DOM zusammen mit HTML und CSS, um dynamische Effekte zu erzielen und Frameworks wie JQuery und React zu unterstützen. 2) Durch reaktnatives und ionisches JavaScript wird ein plattformübergreifendes mobile Anwendungen entwickelt. 3) Mit dem Elektronenframework können JavaScript Desktop -Anwendungen erstellen. 4) Node.js ermöglicht es JavaScript, auf der Serverseite auszuführen und unterstützt hohe gleichzeitige Anforderungen.

Python eignet sich besser für Datenwissenschaft und Automatisierung, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python funktioniert in Datenwissenschaft und maschinellem Lernen gut und unter Verwendung von Bibliotheken wie Numpy und Pandas für die Datenverarbeitung und -modellierung. 2. Python ist prägnant und effizient in der Automatisierung und Skripten. 3. JavaScript ist in der Front-End-Entwicklung unverzichtbar und wird verwendet, um dynamische Webseiten und einseitige Anwendungen zu erstellen. 4. JavaScript spielt eine Rolle bei der Back-End-Entwicklung durch Node.js und unterstützt die Entwicklung der Vollstapel.

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool
