Ersetzen von Text Innerhalb von Curley Klammern JavaScript

Ich versuche, JavaScript zu verwenden, um dynamisch Inhalte ersetzen, Inhalte innerhalb von geschweiften Klammern. Hier ein Beispiel von meinem code:

var myString = "This is {name}'s {adjective} {type} in JavaScript! Yes, a {type}!";
var replaceArray = ['name', 'adjective', 'type'];
var replaceWith = ['John', 'simple', 'string'];

for(var i = 0; i <= replaceArray.length - 1; i ++) {
  myString.replace(/\{replaceArray[i]\}/gi, replaceWith[i]);
}

alert(myString);

Den oben genannten code soll die Ausgabe "Dies ist John' s einfacher string in JavaScript! Ja, ein string!".

Hier ist was passiert:

  1. erhalten wir einen string mit Werten in geschweiften Klammern, die müssen ersetzt
  2. eine Schleife verwendet "replaceArray", um alle Werte in geschweiften Klammern, die müssen ersetzt
  3. diese Werte, zusammen mit den geschweiften Klammern ersetzt werden, die entsprechenden Werte in der "replaceWith" array

Allerdings bin ich nicht mit viel Glück, vor allem, da einen Wert ersetzt werden kann, an mehreren Standorten, und dass ich sich ein dynamischer Wert, der innerhalb des regulären Ausdrucks.

Kann mir jemand helfen dieses Problem zu lösen, mit einem ähnlichen setup wie oben?

  • Ich bin angemeldet als ein anderer Benutzer in dieser Zeit... @William: habe ich nicht, lassen Sie mich versuchen das! @rsp: ich versuche mit reinem JavaScript auf diese ein, denn es gibt viele andere jQuery um diesen code-block, und ich hoffe, Leistung zu beschleunigen, indem Sie nur JavaScript.
  • Dank William und Yi Jiang!!! Das funktionierte!!!
InformationsquelleAutor Oliver Spryn | 2011-03-17
Schreibe einen Kommentar