Replace Keys In Template String With Object Properties
I have an object like this. var obj = {Id:1,Rate:5,Price:200,Name:'History'} And a template like this. var templateString = '' I want
Solution 1:
You can use replace
with a callback :
var optionString = templateString.replace(/{(\w+)}/g, function(_,k){
return obj[k];
});
Solution 2:
Just this will work for you if it has just one occurrence
var optionString = templateString.replace('{Id}',obj.Id).replace('{Name}',obj.Name)
Solution 3:
Without using regex, this can be done by finding all the properties of the object using Object.keys
and then replace each of them by it's value.
Try like this:
Object.keys(obj).forEach(key => {
templateString = templateString.replace(`**${key}**`, `"${obj[key]}"`);
});
Post a Comment for "Replace Keys In Template String With Object Properties"