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 将元素显示在屏幕的中央的代码
Feb 27 Javascript
JavaScript 大数据相加的问题
Aug 03 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
jQuery向后台传入json格式数据的方法
Feb 13 Javascript
JavaScript Uploadify文件上传实例
Feb 28 Javascript
详谈angularjs中路由页面强制更新的问题
Apr 24 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
Apr 21 Javascript
layui 对弹窗 form表单赋值的实现方法
Sep 04 Javascript
微信小程序常用的3种提示弹窗实现详解
Sep 19 Javascript
CountUp.js数字滚动插件使用方法详解
Oct 17 Javascript
JavaScript设计模型Iterator实例解析
Jan 22 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 Header用于页面跳转要注意的几个问题总结
2008/10/03 PHP
PHP 存储文本换行实现方法
2010/01/05 PHP
php生成酷炫的四个字符验证码
2016/04/22 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
SyntaxHighlighter代码加色使用方法
2008/09/07 Javascript
jQuery EasyUI NumberBox(数字框)的用法
2010/07/08 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
JS实现鼠标滑过链接改变网页背景颜色的方法
2015/10/20 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
nodejs 搭建简易服务器的图文教程(推荐)
2017/07/18 NodeJs
详解如何用babel转换es6的class语法
2018/04/03 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
使用element-ui table expand展开行实现手风琴效果
2019/03/15 Javascript
微信小程序实现电子签名功能
2020/07/29 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
新手该如何学python怎么学好python?
2008/10/07 Python
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
Python如何实现自带HTTP文件传输服务
2020/07/08 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
HTML5在a标签内放置块级元素示例代码
2013/08/23 HTML / CSS
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
运动会广播稿60字
2014/01/15 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
企业标语口号
2014/06/10 职场文书
统计员岗位职责
2015/02/11 职场文书
毕业实习单位意见
2015/06/04 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python