Maison > interface Web > js tutoriel > le corps du texte

Implémentation des méthodes String.startsWith et endWith dans les astuces Javascript_javascript

WBOY
Libérer: 2016-05-16 15:56:20
original
1549 Les gens l'ont consulté

Lorsque vous travaillez sur le type String, StartWith(anotherString) et EndsWith(anotherString) sont des méthodes très utiles. Parmi eux, startWith détermine si la chaîne actuelle commence par anotherString et endWith détermine si elle se termine. Exemple :

"abcd".startsWith("ab"); // true
"abcd".startsWith("bc"); // false
"abcd".endsWith("cd");  // true
"abcd".endsWith("e");  // false
"a".startsWith("a");   // true
"a".endsWith("a");    // true
Copier après la connexion

Malheureusement, Javascript n'est pas fourni avec ces deux méthodes, vous ne pouvez donc les écrire vous-même que si nécessaire. Bien sûr, ce n’est pas difficile à écrire.

if (typeof String.prototype.startsWith != 'function') {
 String.prototype.startsWith = function (prefix){
  return this.slice(0, prefix.length) === prefix;
 };
}
Copier après la connexion

String.slice() est similaire à String.substring() dans le sens où ils obtiennent tous deux une sous-chaîne, mais certaines critiques disent que slice est plus efficace. La raison pour laquelle indexOf() n'est pas utilisé ici est que indexOf analysera la chaîne entière. Si la chaîne est très longue, l'efficacité de indexOf sera très mauvaise.

if (typeof String.prototype.endsWith != 'function') {
 String.prototype.endsWith = function(suffix) {
  return this.indexOf(suffix, this.length - suffix.length) !== -1;
 };
}
Copier après la connexion

Contrairement à StartWith, indexOf peut être utilisé dans EndsWith. La raison en est qu'il analyse uniquement la dernière chaîne, et l'avantage par rapport à slice est qu'il n'a pas besoin de copier la chaîne, il suffit de la scanner directement, ce qui la rend plus efficace.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!