|
-eigenschaften in einen Text schreiben
obj: Ein beliebiges javascript-Objekt
template: Ein Text indem die Variablen durch den Wert der Objekteigenschaften ersetzt werden sollen
Beispiel:
var goodie = { firma: "bmw", baujahr: "1962" }
alert(layout(goodie,"Ein Auto der Firma &firma aus dem Jahr &baujahr"))
function layout(obj,template){
var result = template
for (var prop in obj){
var sRegExInput = new RegExp('&'+prop, "g");
result = result.replace(sRegExInput,obj[prop])
}
return result
}
- zuerst wird der mit Variablen gespickte Text (
template) an das zukünftige Ergebnis gewiesen (result)
- dann gibt es eine Schleife über alle Eigenschaften des Objektes
- (
prop) ist der Name der Eigenschaft
- (
obj[prop]) ist der Wert der Objekteigenschaft
- für den Übersetzungsprozess wird die Eigenschaft in einen Variablennamen übersetzt (
'&'+prop)
- daraus wird eine 'Regular-Expression' erzeugt, die als Argument für den Replace-Prozess benötigt wird
- Das 'g' steht dabei für globales Ersetzen (also nicht nur das erste Vorkommen der Variable)
- am Schluss wird das Ergebnis zurückgegeben
|