Este ejemplo de artículo describe el método de JS para determinar si una cadena contiene una subcadena. Compártelo para su referencia. Los detalles son los siguientes:
En nuestro desarrollo diario de front-end, a menudo encontramos a juzgar si una cadena contiene una subcadena. Aquí exploraremos algunas soluciones a este requisito y las usaremos correctamente. Idealmente, lo que estamos buscando es un método que coincida con nuestro propósito (si X contiene y) y devuelve verdadero o falso.
1. String.prototype.indexof y string.prototype.lastindexof
Estos dos métodos son probablemente lo más fácil en lo que pensamos. Si contiene una subcadena, devuelve un índice mayor o igual a 0, de lo contrario regresa -1, lo que no cumple con nuestra situación ideal.
La copia del código es la siguiente: var str = "El nombre de mi blog está centrado en Benjamin en el desarrollo front-end y la experiencia del usuario",
subStr = "benjamin";
función isContains (str, substr) {
return str.indexof (substr)> = 0;
}
//verdadero
console.log (isContains (str, substr));
2. String.Prototype.Search
Pensamos en el método String.Prototype.Search, porque el parámetro del método de búsqueda es una expresión regular, es lo mismo que el caso de índice.
La copia del código es la siguiente: var str = "El nombre de mi blog está centrado en Benjamin en el desarrollo front-end y la experiencia del usuario",
subStr = "benjamin";
función isContains (str, substr) {
devolver nuevo regexp (substr) .test (str);
}
//verdadero
console.log (isContains (str, substr));
Este método se ve mejor que el método indexOf, que devuelve directamente verdadero o falso, y la prueba de nombre del método es más semántica que índicef.
3. String.prototype.contains
La copia del código es la siguiente: var str = "El nombre de mi blog está centrado en Benjamin en el desarrollo front-end y la experiencia del usuario",
subStr = "benjamin";
función isContains (str, substr) {
return str.contains (substr);
}
//verdadero
console.log (isContains (str, substr));
Actualmente, este método solo es compatible con Firefox y todavía está en el borrador de Ecmascript 6. Este método cumple con la situación ideal mencionada anteriormente. Para más detalles, haga clic aquí. Si desea usar el método Contiene, puede consultar la biblioteca de terceros String.js, haga clic aquí para descargar String.js. Implementación del código fuente:
Copie el código de la siguiente manera: contiene: function (ss) {
devolver esto.s.indexof (ss)> = 0;
},
Otros métodos deben ser complementados. . .
Por supuesto, en términos de problemas de rendimiento, qué método para usar aún no se ha probado. Los amigos interesados pueden desear probarlo usted mismo.
Espero que este artículo sea útil para la programación de JavaScript de todos.