>웹 프론트엔드 >JS 튜토리얼 >string_javascript 기술을 구현하는 3가지 js 하위 문자열 메서드

string_javascript 기술을 구현하는 3가지 js 하위 문자열 메서드

WBOY
WBOY원래의
2016-05-16 15:33:042110검색

최근 "JavaScript를 사용하여 문자열의 하위 문자열 메서드를 구현하는 방법은 무엇입니까?"라는 질문을 받았습니다. 현재 다음 세 가지 해결 방법을 염두에 두고 있습니다.
방법 1: 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"

방법 2: 문자열을 배열로 변환하고 필요한 부분만 제거:

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"


방법 3: 머리와 꼬리 부분을 꺼낸 후 교체를 사용하여 남는 부분을 제거합니다. BeginIndex가 작고 문자열 length-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"

JS에서 위의 세 가지 문자열 하위 문자열 방법을 시도해 보고 어떤 방법이 더 편리한지 비교해 보세요. 이 글이 모든 사람의 학습에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.