Javascript 检查数组是否包含字符串,但忽略该字符串中的其他字母

Javascript 检查数组是否包含字符串,但忽略该字符串中的其他字母,javascript,arrays,angular,string,Javascript,Arrays,Angular,String,我有一个变量,比如 var url = "/login/user"; 我有一个数组 var x = ["login", "resetpassword", "authenticate"]; 现在我需要检查url字符串是否存在于字符串数组中。正如我们可以看到的那样,登录名存在于一个数组中,但是当我执行x.indexOf(url)时,它总是收到false,因为字段url还有其他字母。那么,现在我如何在检查数组中的字符串时忽略这些字母并返回true呢?使用。而在数组中使用一些: var url=“

我有一个变量,比如

var url = "/login/user";
我有一个数组

var x = ["login", "resetpassword", "authenticate"];

现在我需要检查url字符串是否存在于字符串数组中。正如我们可以看到的那样,登录名存在于一个数组中,但是当我执行x.indexOf(url)时,它总是收到false,因为字段url还有其他字母。那么,现在我如何在检查数组中的字符串时忽略这些字母并返回true呢?

使用
。而在数组中使用一些

var url=“/login/user”;
var x=[“登录”、“重置密码”、“验证”];
if(x.some(str=>url.includes(str))){
log(“URL中包含X中的某些内容”);

}
一种方法是使用
/
字符拆分url,然后使用
一些

var url=“/login/user”;
var x=[“登录”、“重置密码”、“验证”];
设urlSplitted=url.split(“/”)
让op=urlspitted.some(e=>x.includes(e))

log(op)
您可以将给定的单词与管道(regex中的as或操作符)连接起来,生成正则表达式并对字符串进行测试

只要您没有一些具有特殊含义的字符,这项功能就会起作用

var url=“/login/user”,
x=[“登录”、“重置密码”、“验证”];

log(新的RegExp(x.join('|')).test(url))
导致
/login | resetpassword | authenticate/.test(“/login/user”)
-cleverNote:它将在
“/logged/authenticateduser”
中进行身份验证时返回true,与其他解决方案一样。确定。但你的似乎是最聪明的。重复这个,尽管重复重复: