3种js实现string的substring方法


Posted in Javascript onNovember 09, 2015

最近遇到一个题目,“如何利用javascript实现string的substring方法?”我目前想到的有以下三种方案:
方法一:用charAt取出截取部分:

String.prototype.mysubstring=function(beginIndex,endIndex){
  var str=this,
    newArr=[];
  if(!endIndex){
    endIndex=str.length;
  }
  for(var i=beginIndex;i<endIndex;i++){
    newArr.push(str.charAt(i));
  }
  return newArr.join("");
}

//test
"Hello world!".mysubstring(3);//"lo world!"
"Hello world!".mysubstring(3,7);//"lo w"

方法二:把字符串转换成数组然后取出需要部分:

String.prototype.mysubstring=function(beginIndex,endIndex){
  var str=this,
    strArr=str.split("");
  if(!endIndex){
    endIndex=str.length;
  }
  return strArr.slice(beginIndex,endIndex).join("");
}

//test
console.log("Hello world!".mysubstring(3));//"lo world!"
console.log("Hello world!".mysubstring(3,7));//"lo w"

 方法三:取出头尾部分,然后用replace去掉多余部分,适用于beginIndex较小,字符串长度-endIndex较小的情况:

String.prototype.mysubstring=function(beginIndex,endIndex){
  var str=this,
    beginArr=[],
    endArr=[];
  if(!endIndex){
    endIndex=str.length;
  }
  for(var i=0;i<beginIndex;i++){
    beginArr.push(str.charAt(i));
  }
  for(var i=endIndex;i<str.length;i++){
    endArr.push(str.charAt(i));
  }
  return str.replace(beginArr.join(""),"").replace(endArr.join(""),"");
}

//test
console.log("Hello world!".mysubstring(3));//"lo world!"
console.log("Hello world!".mysubstring(3,7));//"lo w"

以上3种js实现string的substring方法大家都可以尝试一下,比较一下哪种方法更方便,希望本文对大家的学习有所帮助。

Javascript 相关文章推荐
javascript中用星号表示预录入内容的实现代码
Jan 08 Javascript
javascript自适应宽度的瀑布流实现思路
Feb 20 Javascript
javascript 日期时间 转换的方法
Feb 21 Javascript
使用jQuery动态加载js脚本文件的方法
Apr 03 Javascript
jquery实现预览提交的表单代码分享
May 21 Javascript
浅谈javascript构造函数与实例化对象
Jun 22 Javascript
基于Jquery和html5的7款个性化地图插件
Nov 17 Javascript
JavaScript中return用法示例
Nov 29 Javascript
JS实现中文汉字按拼音排序的方法
Oct 09 Javascript
p5.js入门教程之键盘交互
Mar 19 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
May 06 Javascript
postman自定义函数实现 时间函数的思路详解
Apr 17 Javascript
举例讲解JavaScript substring()的使用方法
Nov 09 #Javascript
js中substring和substr两者区别和使用方法
Nov 09 #Javascript
浅析js中substring和substr的方法
Nov 09 #Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 #Javascript
比较常见的javascript中定义函数的区别
Nov 09 #Javascript
详解JavaScript中的Unescape()和String() 函数
Nov 09 #Javascript
表单验证正则表达式实例代码详解
Nov 09 #Javascript
You might like
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
保证JavaScript和Asp、Php等后端程序间传值编码统一
2009/04/17 Javascript
js表格分页实现代码
2009/09/18 Javascript
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
2020/05/29 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
js编写简易的计算器
2020/07/29 Javascript
python实现的一个p2p文件传输实例
2014/06/04 Python
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Python爬虫实现百度图片自动下载
2018/02/04 Python
安装python时MySQLdb报错的问题描述及解决方法
2018/03/20 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
2020/07/03 Python
测量实习生自我鉴定
2013/09/19 职场文书
成功的酒店创业计划书
2013/12/27 职场文书
付款委托书范本
2014/04/04 职场文书
市级青年文明号申报材料
2014/05/26 职场文书
移交协议书
2014/08/19 职场文书
单位委托书
2014/10/15 职场文书
初中信息技术教学计划
2015/01/22 职场文书
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android