Maison >interface Web >js tutoriel >3 méthodes de sous-chaîne js pour implémenter les compétences string_javascript

3 méthodes de sous-chaîne js pour implémenter les compétences string_javascript

WBOY
WBOYoriginal
2016-05-16 15:33:042110parcourir

J'ai récemment rencontré une question : "Comment utiliser JavaScript pour implémenter la méthode de sous-chaîne de chaîne ?" J'ai actuellement les trois solutions suivantes en tête :
Méthode 1 : Utiliser charAt pour extraire la partie interceptée :

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"

Méthode 2 : Convertir la chaîne en tableau et retirer la partie requise :

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"


Méthode 3 : retirez les parties de tête et de queue, puis utilisez le remplacement pour supprimer les pièces en excès. Elle convient aux situations où BeginIndex est petit et String length-endIndex est petit :

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"

Vous pouvez essayer les trois méthodes de sous-chaîne de chaîne ci-dessus et comparer quelle méthode est la plus pratique. J'espère que cet article sera utile à l'apprentissage de chacun.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn