如何替换模板字符串中的变量?

How to substitute a variable in a template string?

一个有两个参数的函数:

  1. 第一个参数将包含字符串 - 'hello ${val}'
  2. 第二个参数将是一个对象 - {'val':'world'}

我需要编写一个解决方案,其中第一个参数将访问第二个参数对象的 属性 并在第一个参数的字符串中打印它的值。

 function PropertyAccess('hello ${val}', {val:'world'}){

       //returns   "Hello World"
  }

查看您更新后的问题后,我认为您真正想要的是一个函数,该函数将接受一个模板和一个要替换的值对象。这是一个工作示例。

function PropertyAccess(template, values) {
  for (key in values) {
    template = template.replace('${' + key + '}', values[key])
  }
  
  return template;
}

console.log(PropertyAccess('hello ${val}', {val: 'world'}))