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 相关文章推荐
jQuery版仿Path菜单效果
Dec 15 Javascript
jQuery列表拖动排列具体实现
Nov 04 Javascript
jquery取消选择select下拉框示例代码
Feb 22 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
May 19 Javascript
Bootstrap select多选下拉框实现代码
Dec 23 Javascript
AngularJS实现动态添加Option的方法
May 17 Javascript
vuex中使用对象展开运算符的示例
Sep 25 Javascript
详解基于Vue+Koa的pm2配置
Oct 24 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 Javascript
vue router 通过路由来实现切换头部标题功能
Apr 24 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
Feb 28 Javascript
JavaScript forEach中return失效问题解决方案
Jun 01 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
各种战术和打法的原创者
2020/03/04 星际争霸
解析yii数据库的增删查改
2013/06/20 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
jQuery使用andSelf()来包含之前的选择集
2014/05/19 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
javascript常用的方法整理
2015/08/20 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
node.js 中间件express-session使用详解
2017/05/20 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
js实现鼠标跟随运动效果
2020/08/02 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
2018/08/20 Javascript
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
js对象简介与基本用法示例
2020/03/13 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
python迭代器的使用方法实例
2013/11/21 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
自我评价的正确写法
2013/09/19 职场文书
2015年党员公开承诺书范文
2015/01/22 职场文书
入党介绍人考察意见
2015/06/01 职场文书
校长新学期致辞
2015/07/30 职场文书
办公室规章制度范本
2015/08/04 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
导游词之唐山景点
2019/12/18 职场文书
oracle通过存储过程上传list保存功能
2021/05/12 Oracle