扫码关注官方订阅号
结构:t="${name}${age}"; 数据:data=[{"name": "小明","age": "6"}]; 结果:小明6 写一个函数,讲t中的数据转化成结果 如果data中有多条数据,怎么实现渲染?
t="${name}${age}";
data=[{"name": "小明","age": "6"}];
小明6
人生最曼妙的风景,竟是内心的淡定与从容!
var tpl = '<li>${name}</li><li>${age}</li>'; var reg = /\${([A-Za-z0-9_]+)}/g; var data = [{"name": "小明","age": "6"},{"name": "小明明","age": "66"}]; var ret= ['<ul>']; for(var i = 0,len = data.length;i < len;++i){ ret.push(tpl.replace(reg,function(){ return data[i][arguments[1]]; })); } ret.push('</ul>'); ret = ret.join(''); console.log(ret);
这个主要考你正则了吧
t = t.replace(/\$\{([a-z]+)\}/g,function(){ return data[0][arguments[1]] })
function foo(data){ var result=""; for(var i=0;i<data.length;i++) result+="<ul><li>"+data[i]['name']+"</li><li>"+data[i]["age"]+"</li></ul>"; return result; }
正则该是
var reg = /\$\{([^{}]+)\}/g;
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这个主要考你正则了吧
正则该是