ホームページ  >  記事  >  ウェブフロントエンド  >  string_javascript スキルを実装するための 3 つの js 部分文字列メソッド

string_javascript スキルを実装するための 3 つの js 部分文字列メソッド

WBOY
WBOYオリジナル
2016-05-16 15:33:042029ブラウズ

最近、「JavaScript を使用して文字列の部分文字列メソッドを実装するにはどうすればよいですか?」という質問に遭遇しました。現在、次の 3 つの解決策を考えています。
方法 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: 先頭部分と末尾部分を取り出し、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"
js の文字列の上記 3 つの部分文字列メソッドを試して、どちらのメソッドがより便利かを比較してください。この記事が皆さんの学習に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。