用对象属性替换模板字符串中的键

Muh*_*eel 2 javascript regex

我有一个像这样的对象.

var obj = {Id:1,Rate:5,Price:200,Name:"History"}
Run Code Online (Sandbox Code Playgroud)

还有这样的模板.

var templateString = '<option id="{Id}">{Name}</option>'
Run Code Online (Sandbox Code Playgroud)

我想用对象值替换模板值.我怎样才能做到这一点.我不是javascript正则表达式的专家.

所需的输出

var optionString = '<option id="1">History</option>'
Run Code Online (Sandbox Code Playgroud)

小提琴样品

Den*_*ret 13

您可以使用replace回调:

var optionString = templateString.replace(/{(\w+)}/g, function(_,k){
      return obj[k];
});
Run Code Online (Sandbox Code Playgroud)

示范