mustache使用正则表达式实现

懵懂的女人 提交于 2020-02-06 05:45:34

mustache使用正则表达式实现

// this is {{name}} object; obj = { name: '123' }
function render(template, data) {
  const reg = /\{\{(\w+)\}\}/g;
  if (!reg.test(template)) {
    return template;
  }
	
  // matched匹配的子串,key表示正则表达式中第一个括号的内容;后续可能有key2 key3 ...
  const result =  template.replace(reg, (matched, key) => {
    return data[key];
  });

  return result;
}

const template = '我是{{name}},年龄{{age}}';
const data = {
  name: '庆余年',
  age: 1
}

console.log(render(template, data));
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!