开发者社区> 问答> 正文

模板引擎实现?

let template = "我是{{name}},年龄{{age}},性别{{sex}}";
let data = {
  name: "姓名",
  age: 18
};
render(template, data); // 我是姓名,年龄18,性别undefined


【精品问答】前端面试手册

【精品问答】前端面试手册之算法/笔试题篇

展开
收起
前端问答 2019-12-15 16:18:28 775 0
1 条回答
写回答
取消 提交回答
  • 前端问答小助手
    function render(template, data) {
      const reg = /\{\{(\w+)\}\}/; // 模板字符串正则
      if (reg.test(template)) {
        // 判断模板⾥是否有模板字符串
        const name = reg.exec(template)[1]; // 查找当前模板⾥第⼀个模板字符串的字段
        template = template.replace(reg, data[name]); // 将第⼀个模板字符串渲染
        return render(template, data); // 递归的渲染并返回渲染后的结构
      }
      return template; // 如果模板没有模板字符串直接返回
    }
    
    2019-12-15 16:19:56
    赞同 1 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载