Skip to content Skip to sidebar Skip to footer

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];
});

Demonstration

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"