问:我不确定如何在Utility.js中实现合并
index.js
var utilities = require (“ ./utilities” );
var mailValues = {}; mailValues 。first_name = “珍妮特” ;var emailTemplate = “嗨%first_name%!感谢您完成此代码挑战:)” ;var mergedContent =实用程序。合并(emailTemplate ,mailValues ); // mergedContent ===“嗨珍妮特!感谢您完成此代码挑战:)”;
utilities.js
函数 合并(内容, 值) {
var key = “ $ first_name%” ; // for(key in content)// { content = content 。替换(“ {{” +键+ “}}” ,值); //}返回内容;}模块。出口。合并=合并;
答:用注释掉的for循环就可以了-取消注释,然后用百分号代替双曲轮。还要记住,值也是一个对象,因此您需要告诉方法用哪个值替换键。
content = content.replace(“%” +键+“%”,values [key]);
另外,您无需在顶部声明key变量。如果这样做,则该程序不是动态的。for循环的工作方式是查找内容对象中的所有键。这样,如果您包含“%last_name%”,则也可以动态合并。