三行JS代码实现 简单的模版引擎算法 面试常考
发布日期:2022-02-10 13:35:49
浏览次数:21
分类:技术文章
本文共 468 字,大约阅读时间需要 1 分钟。
前端的面试或者校招中经常会问到的一道简单的算法题:
模版引擎(给你一段模版代码,给你一个对象;转换出来html代码格式)
下面是正则实现的(借鉴大佬的代码)
代码如下:
var template='sd,<%page%>,hello,<%w%>
'var data={ page:'yes', w:'world'}var reg=/<%([^%>]+)?%>/g;while(mat=reg.exec(template)){ template=template.replace(mat[0],data[mat[1]]);}
具体原理
reg的这行正则的意思就是匹配出来关于<%和%>中间的内容。结尾的g是不仅匹配一次的意思,输出mat的内容是这样子的:
两个数组,第一行是匹配到的内容,第二行是你想要的内容,所以mat[0]==='<%page%>'; mat[1]='page';
之后用replace进行替换,将data的属性赋值过去就完成了;
有帮助的话点个赞,非常感谢!
复杂一些的推荐看这篇文章的优化部分;
转载地址:https://blog.csdn.net/zoooo_/article/details/109245599 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月19日 19时40分16秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
人工智能技术知识图谱
2019-04-26
机器学习算法之KNN
2019-04-26
实战六:手把手教你用TensorFlow进行手写数字识别
2019-04-26
实战七:手把手教你用TensorFlow进行验证码识别(上)
2019-04-26
机器学习算法之梯度下降法
2019-04-26
机器学习算法之多项式回归
2019-04-26
TensorFlow(keras)入门课程--01 机器学习的Hello World
2019-04-26
TensorFlow(keras)入门课程--03 卷积介绍
2019-04-26
TensorFlow(keras)入门课程--04 卷积神经网络
2019-04-26
TensorFlow(keras)入门课程--05 复杂图像处理
2019-04-26
TensorFlow(keras)入门课程--06 CNN用于猫狗数据集
2019-04-26
【比赛篇】TinyMind人民币面值 - 热身赛
2019-04-26
卷积神经网络交通标志识别
2019-04-26
【实战】深度学习构建人脸面部表情识别系统
2019-04-26
Python机器学习&数据分析-关联规则
2019-04-26
【实战】kaggle猫狗大战-卷积神经网络实现猫狗识别
2019-04-26
01 计算机视觉-opencv图像基本操作
2019-04-26
02 计算机视觉-opencv阈值与滤波处理
2019-04-26
03 计算机视觉-opencv图像形态学处理
2019-04-26
04计算机视觉-opencv图像梯度处理
2019-04-26