Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialShaune Oosthuizen
127 PointsNode.js replace issue
Hi All,
I was wondering if anyone could assist me with this challenge. I believe There is something wrong when I try to 'replace' the placeholder key value with the first_name value going off of this error message 'Object [object Object] has no method 'replace''
var utilities = require("./utilities");
var mailValues = {};
mailValues.first_name = "Janet";
var emailTemplate = "Hi %first_name%! Thanks for completing this code challenge :)";
var mergedContent = utilities.merge(emailTemplate, mailValues, {encoding: "utf8"});
//mergedContent === "Hi Janet! Thanks for completing this code challenge :)";
function merge(content, values) {
for (var key in content) {
//replace all {{key}} with the value from the values object
values = values.replace("%" + key + "%", content[key]);
}
return values;
}
module.exports.merge = merge;
1 Answer
Daniel Newman
Courses Plus Student 10,715 PointsYou were a bit close to resolve quizz:
function merge(content, values) {
for(key in values) {
content = content.replace("%" + key + "%", values[key]);
}
return content;
}
module.exports.merge = merge;
Try to find out why it is.
Chris Adamson
132,143 PointsChris Adamson
132,143 PointsYour looping on the wrong parameter, values contains the dictionary/map and the assignment statement is backwards, i.e. you want to replace the value of contents (not values), and pull the value from the dictionary/map (values not content),