首页 > 解决方案 > 如何在angular 8 / javascript中填充字符串变量中的变量值

问题描述

我有以下带有变量的字符串

var data = "{

  title: {
      text: **title**
  }, 

  subtitle: {
      text: **subtitle**
  }
}"

我有以下数据

data_to_be_fill = {
    "title": "My title",
    "subtitle": "My subtitle"
}

现在我想**title**用“我的标题”和**subtitle**“我的副标题”替换

预期输出应该是

  "{

      title: {
          text: "My title"
      }, 

      subtitle: {
          text: "My subtitle"
      }
    }"

在 angular/java 脚本中有什么可以做到的吗?

标签: javascriptangular

解决方案


您可以data_to_be_fill使用找到对象的所有属性,Object.keys然后用它的值替换它们中的每一个。

试试这样:

Object.keys(this.data_to_be_fill).forEach(item => {
  this.data = this.data.replace(`**${item}**`, `"${this.data_to_be_fill[item]}"`);
});

工作演示


推荐阅读