Maison > interface Web > js tutoriel > Implémentation des méthodes String.startsWith et endWith dans les astuces Javascript_javascript

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-05-16 15:56:20
original
1621 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
Derniers numéros
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal