首页 > 语言 > JavaScript > 正文

3种js实现string的substring方法

2024-05-06 16:24:59
字体:
来源:转载
供稿:网友

这篇文章主要介绍了3种javascript实现string的substring方法,需要的朋友可以参考下

最近遇到一个题目,“如何利用javascript实现string的substring方法?”我目前想到的有以下三种方案:

方法一:用charAt取出截取部分:

 

 
  1. String.prototype.mysubstring=function(beginIndex,endIndex){ 
  2. var str=this
  3. newArr=[]; 
  4. if(!endIndex){ 
  5. endIndex=str.length; 
  6. for(var i=beginIndex;i<endIndex;i++){ 
  7. newArr.push(str.charAt(i)); 
  8. return newArr.join(""); 
  9.  
  10. //test 
  11. "Hello world!".mysubstring(3);//"lo world!" 
  12. "Hello world!".mysubstring(3,7);//"lo w" 

方法二:把字符串转换成数组然后取出需要部分:

 

  1. String.prototype.mysubstring=function(beginIndex,endIndex){ 
  2. var str=this
  3. strArr=str.split(""); 
  4. if(!endIndex){ 
  5. endIndex=str.length; 
  6. return strArr.slice(beginIndex,endIndex).join(""); 
  7.  
  8. //test 
  9. console.log("Hello world!".mysubstring(3));//"lo world!" 
  10. console.log("Hello world!".mysubstring(3,7));//"lo w" 

方法三:取出头尾部分,然后用replace去掉多余部分,适用于beginIndex较小,字符串长度-endIndex较小的情况:

 

 
  1. String.prototype.mysubstring=function(beginIndex,endIndex){ 
  2. var str=this
  3. beginArr=[], 
  4. endArr=[]; 
  5. if(!endIndex){ 
  6. endIndex=str.length; 
  7. for(var i=0;i<beginIndex;i++){ 
  8. beginArr.push(str.charAt(i)); 
  9. for(var i=endIndex;i<str.length;i++){ 
  10. endArr.push(str.charAt(i)); 
  11. return str.replace(beginArr.join(""),"").replace(endArr.join(""),""); 
  12.  
  13. //test 
  14. console.log("Hello world!".mysubstring(3));//"lo world!" 
  15. console.log("Hello world!".mysubstring(3,7));//"lo w" 

以上3种js实现string的substring方法大家都可以尝试一下,比较一下哪种方法更方便,希望本文对大家的学习有所帮助。


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有0条评论
用户名: 密码:
验证码: 匿名发表

图片精选