UHU-StartseiteInformatikTechnikenjava-scriptSchnipselObjekte
-eigenschaften in einen Text schreiben


Parameter
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"))



Layout-Funktion

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
}



Interpretation
  • 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


optimal sichtbar mit Firefox Formeln mit asciimath Druckversion