关于js字符串替换的一道笔试题目

 2023-09-05 阅读 142 评论 0

摘要:题目描述 请写出一个字符串转换函数,接受两个参数: 1.字符串 形如{a}ab-{b}cde{c}fff{d}{}; 2.对象,形如{'a':'1','b':'2','d':'4'} 根据,对象的属性进行规则替换,输出结果为1ab-

题目描述

请写出一个字符串转换函数,接受两个参数:
1.字符串 形如{a}ab-{b}cde{c}fff{d}{};
2.对象,形如{'a':'1','b':'2','d':'4'}
根据,对象的属性进行规则替换,输出结果为1ab-2cdefff4;

根据样例大概可以猜到替换规则:对于字符串中被大括号"{}"包围的字符串,如果在对象的属性中能找到对应的规则,则按照规则进行替换;如果找不到,就替换为空串。

思路解析

整个过程可以大致分成以下步骤:
1.查找需要出需要替换部分(被大括号包含的字符串)
2.对于需要替换的部分,查找是否有对应的替换规则,如果有完成替换
3.对于没有替换规则的,替换为空串

代码如下:

function strConverse(str,obj){var strResult = str.replace(/(\{)(.*?)(\})/g,function(match,pos,orignalTest){var matchContent=match.slice(1,match.length-1);if(obj.hasOwnProperty(matchContent))return obj[matchContent];elsereturn "";});return strResult;}

转载于:https://www.cnblogs.com/malinlin/p/5997566.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/953.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息