Maison  >  Article  >  interface Web  >  js pour déterminer si une chaîne contient des compétences substring_javascript

js pour déterminer si une chaîne contient des compétences substring_javascript

WBOY
WBOYoriginal
2016-05-16 16:17:551283parcourir

L'exemple de cet article décrit comment js détermine si une chaîne contient une sous-chaîne. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Dans notre développement front-end quotidien, nous rencontrons souvent le problème de déterminer si une chaîne contient une certaine sous-chaîne. Nous allons explorer ici quelques méthodes pour résoudre cette exigence et les utiliser correctement. Idéalement, ce que nous recherchons est une méthode qui correspond à notre objectif (si x contient y) et renvoie vrai ou faux.

1. String.prototype.indexOf et String.prototype.lastIndexOf

Ces deux méthodes sont peut-être les plus simples auxquelles nous pensons. Si elle contient une sous-chaîne, elle renverra un index supérieur ou égal à 0, sinon elle renverra -1, ce qui ne répond pas à notre situation idéale.

Copier le code Le code est le suivant :
var str = "Mon nom de blog est Benjamin-Focus sur le front-end développement et expérience utilisateur",
​ substr = "Benjamin";

function isContains(str, substr) {
Renvoie str.indexOf(substr) >= 0;
>

//vrai
console.log(isContains(str, substr));

2. String.prototype.search

Nous avons pensé à la méthode String.prototype.search Puisque le paramètre de la méthode de recherche est une expression régulière, c'est la même chose que indexOf.

Copier le code Le code est le suivant :
var str = "Mon nom de blog est Benjamin-Focus sur le front-end développement et expérience utilisateur",
​ substr = "Benjamin";

function isContains(str, substr) {
Renvoie un nouveau RegExp(substr).test(str);
>

//vrai
console.log(isContains(str, substr));

Cette méthode est meilleure que la méthode indexOf. Cette méthode renvoie directement vrai ou faux. En même temps, le test du nom de la méthode est plus sémantique que indexOf.

3. String.prototype.contains

Copier le code Le code est le suivant :
var str = "Mon nom de blog est Benjamin-Focus on développement front-end et expérience utilisateurs",
​ substr = "Benjamin";

function isContains(str, substr) {
Renvoie str.contains(substr);
>

//vrai
console.log(isContains(str, substr));

Cette méthode n'est actuellement prise en charge que par Firefox et figure toujours dans la version préliminaire d'ECMAScript 6. Cette méthode satisfait à la situation idéale mentionnée ci-dessus. Veuillez cliquer ici pour plus de détails. Si vous souhaitez utiliser la méthode contain, vous pouvez vous référer à la bibliothèque tierce string.js Cliquez ici pour télécharger string.js depuis ce site. Implémentation du code source :
Copier le code Le code est le suivant :
contient : fonction(ss) {
Renvoie this.s.indexOf(ss) >= 0;
},
D'autres méthodes sont à ajouter. . .
Bien sûr, en ce qui concerne les problèmes de performances, quelle méthode est la plus rapide reste à tester. Les amis intéressés voudront peut-être le tester eux-mêmes.

J'espère que cet article sera utile à la conception de la programmation JavaScript 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