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选择器(常用选择器说明)
Sep 28 Javascript
3款实用的在线JS代码工具(国外)
Mar 15 Javascript
js简单实现用户注册信息的校验代码
Nov 15 Javascript
jquery对table中各数据的增加、保存、删除操作示例
May 14 Javascript
jQuery制作可自定义大小的拼图游戏
Mar 30 Javascript
js模拟淘宝网的多级选择菜单实现方法
Aug 18 Javascript
基于Jquery插件实现跨域异步上传文件功能
Apr 26 Javascript
微信小程序模板和模块化用法实例分析
Nov 28 Javascript
使用validate.js实现表单数据提交前的验证方法
Sep 04 Javascript
vue的列表交错过渡实现代码示例
May 05 Javascript
vue 导航守卫和axios拦截器有哪些区别
Dec 19 Vue.js
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
举例讲解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
php 前一天或后一天的日期
2008/06/28 PHP
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
php中JSON的使用方法
2015/04/30 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
零基础php编程好学吗
2019/10/11 PHP
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
Jquery实现自定义弹窗示例
2014/03/12 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
Three.js快速入门教程
2016/09/09 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
利用Angular2 + Ionic3开发IOS应用实例教程
2018/01/15 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
Python XML RPC服务器端和客户端实例
2014/11/22 Python
python简单分割文件的方法
2015/07/30 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
Django框架模板的使用方法示例
2019/05/25 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
2019/08/27 Python
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
导航工程专业自荐信
2014/09/02 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
房屋租赁协议书
2014/10/18 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
2014年设备管理工作总结
2014/11/26 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书