0
votes

Vérifiez si un tableau inclut une chaîne mais ignorer les autres lettres de cette chaîne

J'ai une variable comme, xxx

et j'ai une matrice comme, xxx

maintenant je dois vérifier, que ce soit URL String est présent dans un tableau de chaîne. Comme nous pouvons le constater que la connexion est présente dans un tableau, mais quand je fais x.indexof (URL) , il reçoit toujours de la valeur faux parce que l'URL de champ a également des autres lettres. Alors maintenant, comment puis-je inguser ces lettres tout en vérifiant une chaîne dans un tableau et retourne vrai?


0 commentaires

3 Réponses :


2
votes

Utiliser .Some code> sur la matrice à la place:

p>

var url = "/login/user";
var x = ["login", "resetpassword", "authenticate"];

var foundStr = url.split('/')[1];

if (x.includes(foundStr)) {
  console.log('something in X is included in URL');
}



2
votes

Un moyen est de diviser l'URL avec / code> caractère et d'utiliser quelques code>

var url = "/login/user";
var x = ["login", "resetpassword", "authenticate"];

let urlSplitted = url.split('/')

let op = urlSplitted.some(e=> x.includes(e))

console.log(op)



2
votes

Vous pouvez rejoindre les mots donnés avec un tuyau (comme ou l'opérateur dans Regex), générer une expression régulière et un test sur la chaîne.

Cela fonctionne aussi longtemps que vous n'avez pas de caractères avec des significations particulières. p>

p>

var url = "/login/user",
    x = ["login", "resetpassword", "authenticate"];

console.log(new RegExp(x.join('|')).test(url));


4 commentaires

résultant en "code> /login|resetpassword|authenticate/.test (" / utilisateur / utilisateur ") - intelligent


Remarque: il retournera true sur authentifier dans "/ enregistré / authentifiétilisateur"


comme les autres solutions.


Sûr. Mais le vôtre semblait le plus intelligent. Dupe de cela bien que Stackoverflow.com/a/5582621/295783