【发布时间】:2019-12-24 12:38:23
【问题描述】:
我需要替换电子邮件正文的变量。如果变量名存在于variableNames数组中,则必须替换。
但问题是只有与variableNames Names 的姓氏相对应的最后一个被替换(在我的例子中:'NAME4')。我究竟做错了什么?我该如何解决?
var variableNames = [
'NAME1',
'NAME2',
'NAME3',
'NAME4'];
var regex = '';
var key2 = '';
var position = '';
for (var key in variables) {
if (variableNames.includes(key)) {
position = variableNames.indexOf(key);
key2 = variableNames[position];
regex = new RegExp("###" + key2 + "###", "g");
template.content = template.body.replace(regex, variables[key2]);
//only replace the last one
}
}
【问题讨论】:
标签: javascript arrays node.js for-loop replace