将模板字符串中的键替换为对象属性

2023-12-23

我有一个这样的对象。

var obj = {Id:1,Rate:5,Price:200,Name:"History"}

还有这样的模板。

var templateString = '<option id="{Id}">{Name}</option>'

我想用对象值替换模板值。我怎样才能做到这一点。我不是 javascript 正则表达式专家。

所需的输出

var optionString = '<option id="1">History</option>'

小提琴样本 http://jsfiddle.net/raheelshan/erms8Lk7/


您可以使用replace带回调:

var optionString = templateString.replace(/{(\w+)}/g, function(_,k){
      return obj[k];
});

示范 http://jsbin.com/tukec/1/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将模板字符串中的键替换为对象属性 的相关文章

随机推荐

  • Vim 搜索并突出显示脚本中的控制

    我正在编写一个脚本 我想在其中以编程方式控制搜索 并突出显示它们 search 函数结果没有突出显示 我认为 因此使用该函数对我来说没有用 我想做的是使用 正常 命令来搜索变量 但这似乎并不简单 我可以编写命令 execute normal
  • 在 R 中保存和增量更新最近邻模型

    有几个最近邻 R 包 例如 FNN RANN yaImpute 但它们似乎都不允许保存 NN 数据结构 覆盖树 KD 树等 以便可以计算新查询的最近邻重建整个树 R中有这样的函数吗 我正在寻找一个返回数据结构的函数 当新数据到达时我可以增量
  • mathjax \textsc

    我如何让像 textsc 这样的东西工作 显然有可能启用它这个数学溢出答案 https meta mathoverflow net discussion 1046 why doesnt mathit work 还有其他人找到了至少允许使用小
  • 方向更改时如何更改网格布局

    我正在创建一个win8应用程序 我需要更改网格的布局 以便当用户在方向之间翻转时所有内容都适合屏幕 我明白我需要使用VisualStateManager但我无法理解任何教程 如果我有这个代码
  • PayPal 完整日期格式

    PayPal 以以下格式发回 payment date 字段 19 19 09 Sep 27 2011 我正在使用 php 来计算 payment date 的剩余天数 但我的代码是基于在 2011 09 27 12 19 00 获取格式
  • 如何在 Angular 2 项目中分离管理和前端 Web

    我将使用 Angular 2 构建一个完整的项目 该项目包含管理面板和供用户使用的前端 Web 我不知道如何将管理与网络分开 我应该使用路由吗 但这需要我导入内部的所有组件app module ts或者还有另一种方法可以使用两个app mo
  • 在 Groovy 中使用 JSONBuilder 排除空值

    是否可以使用默认的 JsonBuilder 库在 Groovy 中创建 JSON 值以排除对象的所有空值 例如 Jackson 在 Java 中通过注释类来排除空值所做的事情 一个例子是 userId 25 givenName John f
  • 如何在11g中通过select语句为新创建的表的列设置默认值

    我在 Oracle 11g 中创建一个表 其中一列使用默认值 语法是 create table xyz emp number ename varchar2 100 salary number default 0 这样就创建成功了 由于某些原
  • 为什么重载方法没有被调用?

    我认为被调用的方法是在运行时决定的 或者我错过了什么 示例代码 class Program static void Main string args var magic new MagicClass magic DoStuff new Im
  • 在 Cocoa 中使用 autorelease 的成本是多少?

    大多数苹果文档似乎都避免使用自动释放对象 特别是在创建 gui 视图时 但我想知道使用自动释放对象的成本是多少 UIScrollView timeline UIScrollView alloc initWithFrame CGRectMak
  • exoplayer播放器错误无法连接到hls链接

    我有一个 hls 链接 可以使用 mpv 正常播放 但在 exoplayer 中出现此错误 PlayerError com google android exoplayer2 ExoPlaybackException com google
  • IE 9 和 10 产生意外且不一致的 MediaError

    我们有一组 HTML 块 比如说大约 50 个 它们被迭代地解析并具有Audio动态添加的对象 var SomeAudioWrapper function name this internal player new Audio this i
  • VBA 根据输入值查找下一列

    在我现在尝试编写的程序中 我采用两列数字并对它们进行计算 在用户告诉我之前 我不知道这两列位于哪里 他们在我的代码所在的工作簿的单元格中输入列值 例如 如果用户输入 A 和 B 作为所有信息所在的列 我可以根据这些值执行计算 同样 如果他们
  • Visual Studio 下的 string::swap 复杂性

    The 参考参数 http en cppreference com w cpp string basic string swap页面说的是std basic string swap它具有恒定的复杂性 我认为这意味着无法复制内容 只能交换指针
  • JavaScript HtmlCollection 循环永远不会返回第二个元素

    我知道有关于如何访问和迭代 HtmlCollection 的答案 但它在这里对我不起作用 我得到了一些 tabSheetActive 类的元素 这些元素的数量可以是 1 或更多 我通过以下方式访问它们 var activeTabSheets
  • Python:通过套接字在两台计算机之间发送数据

    我正在编写一个脚本 该脚本可以在两台可以访问互联网的不同计算机之间传输数据 我正在使用 python 的套接字标准模块 当我在一台计算机上运行客户端和服务器时它工作正常 但当它们在不同计算机上运行时我无法使它们工作 这是我的服务器代码的一部
  • 尽管在前台运行且使用 START_STICKY,但在终止后无法重新启动服务

    我面临着一个关键问题 即绑定服务作为前台运行并带有通知 正如我找到的大多数教程和解决方案所提到的 我所做的一切都是正确的 我有一个启动服务然后与其绑定的活动 在服务的 onCreate 中 我使用 startForeground 并显示通知
  • 如何处理非常大的文本文件?

    我目前正在编写一些需要处理非常大的文本文件 至少几个 GiB 的东西 这里需要的是 这是固定的 基于 CSV 遵循 RFC 4180 嵌入式换行符除外 对行进行随机读取访问 但主要是逐行读取并接近末尾 在末尾添加行 换行 显然 这需要重写文
  • 发布管道与集成运行时冲突

    此问题涉及如果数据工厂中定义了自托管集成运行时 如何通过 CI 在 VSTS 中 传播数据工厂 我设置了 3 个环境 Dev UAT Prod 每个环境都有自己的数据工厂 开发人员托管主协作分支 我正在使用 VSTS 从 adf publi
  • 将模板字符串中的键替换为对象属性

    我有一个这样的对象 var obj Id 1 Rate 5 Price 200 Name History 还有这样的模板 var templateString