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 相关文章推荐
EXT中xtype的含义分析
Jan 07 Javascript
jquery图片放大功能简单实现
Aug 01 Javascript
JavaScript学习笔记之Function对象
Jan 22 Javascript
JS实现FLASH幻灯片图片切换效果的方法
Mar 04 Javascript
基于javascript实现单选及多选的向右和向左移动实例
Jul 25 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
超全面的vue.js使用总结
Feb 12 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
Sep 13 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
Vue中img的src是动态渲染时不显示的解决
Nov 14 Javascript
google广告之另类js调用实现代码
Aug 22 Javascript
详细聊聊浏览器是如何看闭包的
Nov 11 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
解析php addslashes()与addclashes()函数的区别和比较
2013/06/24 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
PHP实现的AES双向加密解密功能示例【128位】
2018/09/03 PHP
心扬JS分页函数代码
2010/09/10 Javascript
JQuery小知识
2010/10/15 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
jquery简单实现图片切换效果的方法
2015/05/12 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
JavaScript结合HTML DOM实现联动菜单
2017/04/05 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
jQuery实现简单的回到顶部totop功能示例
2017/10/16 jQuery
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
解决layui下拉框监听问题(监听不到值的变化)
2019/09/28 Javascript
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
python实现按长宽比缩放图片
2018/06/07 Python
基于python的Paxos算法实现
2019/07/03 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
python 安装移动复制第三方库操作
2020/07/13 Python
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
TripAdvisor西班牙官方网站:全球领先的旅游网站
2018/01/10 全球购物
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
波兰在线运动商店:YesSport
2020/07/23 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
开会迟到检讨书
2014/01/08 职场文书
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
机械系毕业生求职信
2014/05/28 职场文书
美化环境标语
2014/06/20 职场文书
《雷雨》教学反思
2016/02/20 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
python中Tkinter 窗口之输入框和文本框的实现
2021/04/12 Python
Python中常见的导入方式总结
2021/05/06 Python
MySQL sql_mode修改不生效的原因及解决
2021/05/07 MySQL