JS——笔试点滴记录2——字符串相关
来源:互联网 发布:sqlserver true false 编辑:程序博客网 时间:2024/05/25 01:36
一、相关题目
1、字符串替换
题目:
将"sdfa sdksdk xsdkakdg"中"sdk"替换成"-replace-"。
分析:
传统方法:可使用split函数将字符串拆分成几个子串,再在适当位置加入需要替换的字符串,重新组合得到结果。
使用js特有函数实现:通过正则表达式的test等方法,与js中String对象的replace方法快速实现。
传统方法编码:
var str="sdfa sdksdk xsdkakdg";var strArray=str.split("sdk");for(var i=0;i<strArray.length;i++){<span style="white-space:pre"></span>alert(strArray[i]);if(i!=(strArray.length-1))strArray[i]=strArray[i]+"-replace-";}var newStr=strArray.join("");//替换后的结果alert(newStr);思路:上面编码使用将被替换的子串分隔字符串,并在子串数组的每个元素(除末尾元素外)基础上加上将替换的字符串,重新组合,巧妙得到结果。
使用js特有函数实现:
var str="sdfa sdksdk xsdkakdg";//将处理的字符串var exp=new RegExp("sdk");//创建正则表达式while(exp.test(str)){str=str.replace("sdk","-replace-");}alert(str);//显示结果思路:不断通过正则表达式的test判断字符串是否包含正则表达式中的子串,从而多次逐一替换。
小结:
——>split与join是一对相反的操作,join将数组连接成字符串,默认以顿号连接。
——>正则表达式的基础创建方法,及test方法与String对象的replace方法的使用。注意replace方法返回替换后的新字符串,一次只替换一处!
2、字符串拆分
题目:
编写函数parseUrl,使其以对象形式返回解析后的url。如www.baidu.com?uid=123&uname=xiaoming。
分析:
主要涉及字符串的拆分与JSON 对象形式。
当时的编码:
function parseUrl(urlVal){var url=urlVal.split("?")[0];var cookies=urlVal.split("?")[1].split("&");var keys=new Array();var values=new Array();for(var i=0;i<cookies.length;i++){keys[i]=cookies[i].split("=")[0];values[i]=cookies[i].split("=")[1];}var urlObj={"url":url,"keys":keys,"values":values};return urlObj;}var testObj=parseUrl("www.baidu.com?key1=123&key2=456");alert(testObj.url+testObj.keys[1]+":"+testObj.values[1]);//简单的测试
收获:对于返回结果为数组的表达式,可直接通过“[ ]”取回某个元素,这与DOM 通过getElementByTagName("p")[1]获取某个元素用法相同,但在其它编程语言中,一般不会直接这么用(没测试过)。
0 0
- JS——笔试点滴记录2——字符串相关
- JS——笔试点滴记录1——闭包与this及方法
- Linux —与硬件紧密相关——点滴记录
- 点滴记录——NULL的判断
- 点滴记录——学习Redis笔记
- Python点滴(七)—pandas 记录
- 字符串相关操作————笔试内容之字符串操作
- three.js学习点滴(2)— 模型导入
- 笔试——字符串价值
- 点滴记录(2005年最垃圾的——广告词)
- 点滴记录——往沙盒文本中写数据
- 点滴记录——Centos 6.5 yum安装Ganglia
- 点滴记录——Ubuntu 自动挂载windows分区
- 点滴记录——使用Ganglia监控Openstack Swift状态
- 微信小程序学习笔记——CSS点滴记录
- 微信小程序学习笔记——CSS点滴记录
- 字符串相关操作————2015小米笔试内容
- 程序员面试笔试宝典——读书笔记5、字符串、编译、面向对象相关
- Let's Talk About project.pbxproj
- ubuntu 14.04 windows7双系统安装
- ODBC 中的错误处理
- PSI/SI表的深度摘要-2
- hibernate中load和get的区别
- JS——笔试点滴记录2——字符串相关
- 方法上spring事物注解失效问题
- 关于 Java 数组的 12 个最佳方法
- Unity 使用DoTween
- Hadoop HDFS原理
- [java学习7]angular的filter练习
- AlertDialog自定义界面圆角有背景问题
- python tkinter应用:文本编辑器
- java中String、StringBuffer、StringBuilder的区别