Max*_*xim 0 javascript regex object
我有一个动态模板字符串,类似于以下内容:
There are {{num}} matches for the category {{category}}.
Run Code Online (Sandbox Code Playgroud)
我也有一个像这样的对象:
There are {{num}} matches for the category {{category}}.
Run Code Online (Sandbox Code Playgroud)
如何用对象中显示的值替换每个模板变量,其中键是大括号中的文本。例如:
let data = {
"num": // some value
"category": // another value
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过以下方法:
// example object
let data = {
"num": "six",
"category": "shoes"
}
// result
"There are six matches for the category shoes"
Run Code Online (Sandbox Code Playgroud)
上面的代码将大括号中的所有文本实例替换为undefined
. 我查看了多个 StackOverflow 问题,但都没有解决这个问题。
幸运的是,replace()
允许使用回调:
matchesMessage = template.replace(
/\{\{(.+?)\}\}/g,
(match, tag) => data[tag.trim()]
);
console.log(matchesMessage);
// "There are six matches for the category shoes."
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
658 次 |
最近记录: |