J'ai une variable comme, et j'ai une matrice comme, p> maintenant je dois vérifier, que ce soit URL forte> 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) strong>, 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? P> p>
3 Réponses :
Utiliser p> .Some code> sur la matrice à la place: 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');
}
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)
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));résultant en "code> /login|resetpassword|authenticate/.test (" / utilisateur / utilisateur ") code> - intelligent
Remarque: il retournera true sur authentifier dans "/ enregistré / authentifiétilisateur" code>
comme les autres solutions.
Sûr. Mais le vôtre semblait le plus intelligent. Dupe de cela bien que Stackoverflow.com/a/5582621/295783