3种js实现string的substring方法
作者:bea
最近遇到一个题目,“如何利用javascript实现string的substring方法?”我目前想到的有以下三种方案: 方法一:用charAt取出截取部分: String.prototype.mysubstring=function(beginIndex,endIndex){ var str=this, newArr=[]; if(!endIndex){ endIndex=str.length; } for(var i=beginIndex;i&l
最近遇到一个题目,“如何利用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方法大家都可以尝试一下,比较一下哪种方法更方便,希望本文对大家的学习有所帮助。
猜你喜欢
您可能感兴趣的文章:
- jQuery+CSS3实现3D立方体旋转效果
- JavaScript中利用各种循环进行遍历的方式总结
- 简单学习JavaScript中的for语句循环结构
- js密码强度校验
- 详解javascript函数的参数
- JavaScript函数的一些注意要点小结及js匿名函数
- javascript实现五星评分功能
- javascript密码验证
- JavaScript编程的单例设计模讲解
- js数组常见操作及数组与字符串相互转化实例详解
- 浅谈javascript中replace()方法
- 使用jQuery获取data-的自定义属性
- javascript适合移动端的日期时间拾取器
- js图片轮播手动切换效果
- JS截取与分割字符串常用技巧总结
- jquery validate.js表单验证入门实例(附源码)
- 纯javascript响应式树形菜单效果
- JavaScript中SetInterval与setTimeout的用法详解
- 深入解析JavaScript编程中的this关键字使用