[英]Replace keys in template string with object properties
我有一個這樣的對象。
var obj = {Id:1,Rate:5,Price:200,Name:"History"}
還有這樣的模板。
var templateString = '<option id="{Id}">{Name}</option>'
我想用對象值替換模板值。 我怎樣才能做到這一點。 我不是 javascript 正則表達式的專家。
所需的輸出
var optionString = '<option id="1">History</option>'
您可以使用帶有回調的replace
:
var optionString = templateString.replace(/{(\w+)}/g, function(_,k){
return obj[k];
});
如果它只出現一次,這對你有用
var optionString = templateString.replace('{Id}',obj.Id).replace('{Name}',obj.Name)
在不使用正則表達式的情況下,這可以通過使用Object.keys
查找對象的所有屬性然后用它的值替換每個屬性來完成。
像這樣嘗試:
Object.keys(obj).forEach(key => {
templateString = templateString.replace(`**${key}**`, `"${obj[key]}"`);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.