3种js实现string的substring⽅法
最近遇到⼀个题⽬,“如何利⽤javascript实现string的substring⽅法?”我⽬前想到的有以下三种⽅案:
⽅法⼀:⽤charAt取出截取部分:
substring=function(beginIndex,endIndex){
var str=this,
newArr=[];
if(!endIndex){
endIndex=str.length;
}
for(var i=beginIndex;i<endIndex;i++){substring和slice
newArr.push(str.charAt(i));
}
return newArr.join("");
}
//test
"Hello world!".mysubstring(3);//"lo world!"
"Hello world!".mysubstring(3,7);//"lo w"
⽅法⼆:把字符串转换成数组然后取出需要部分:
substring=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较⼩的情况:substring=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));
}
place(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⽅法⼤家都可以尝试⼀下,⽐较⼀下哪种⽅法更⽅便,希望本⽂对⼤家的学习有所帮助。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论