280 votes

Comment vérifier si une chaîne contient du texte provenant d'un tableau de sous-chaînes en JavaScript ?

Assez simple. En javascript, je dois vérifier si une chaîne contient des sous-chaînes contenues dans un tableau.

107voto

Praveen Points 577

Une solution en ligne

 substringsArray.some(substring=>yourBigString.includes(substring))

Renvoie true\false si la sous-chaîne exists\does'nt exist

Nécessite la prise en charge de ES6

56voto

Raveren Points 4772
var yourstring = 'tasty food'; // the string to check against


var substrings = ['foo','bar'],
    length = substrings.length;
while(length--) {
   if (yourstring.indexOf(substrings[length])!=-1) {
       // one of the substrings is in yourstring
   }
}

30voto

Jim Blackler Points 14306
function containsAny(str, substrings) {
    for (var i = 0; i != substrings.length; i++) {
       var substring = substrings[i];
       if (str.indexOf(substring) != - 1) {
         return substring;
       }
    }
    return null; 
}

var result = containsAny("defg", ["ab", "cd", "ef"]);
console.log("String was found in substring " + result);

25voto

halfcube Points 1064

Pour les personnes qui recherchent sur Google,

La réponse solide devrait être.

 const substrings = ['connect', 'ready'];
const str = 'disconnect';
if (substrings.some(v => str === v)) {
   // Will only return when the `str` is included in the `substrings`
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X