Ich bin kürzlich auf die Frage gestoßen: „Wie verwende ich JavaScript, um die Teilstring-Methode von String zu implementieren?“ Ich habe derzeit die folgenden drei Lösungen im Sinn:
Methode 1: Verwenden Sie charAt, um den abgefangenen Teil zu extrahieren:
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"
Methode 2: Wandeln Sie die Zeichenfolge in ein Array um und entnehmen Sie den erforderlichen Teil:
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"
Methode 3: Entfernen Sie die Kopf- und Schwanzteile und entfernen Sie dann die überschüssigen Teile mit „Ersetzen“. Dies eignet sich für Situationen, in denen beginIndex klein und string length-endIndex klein ist:
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"
Sie können die oben genannten drei Teilstring-Methoden von Strings in js ausprobieren und vergleichen, welche Methode bequemer ist. Ich hoffe, dass dieser Artikel für das Lernen aller hilfreich ist.