是否有javascript方法可以在字符串数组中查找子字符串?

是否有javascript方法可以在字符串数组中查找子字符串?,javascript,Javascript,假设我的数组是[“abcdefg”,“hijklmnop”],我在看“mnop”是否是这个数组的一部分。如何使用javascript方法实现这一点 我试过这个,但不起作用: var array= ["abcdefg", "hijklmnop"]; console.log(array.indexOf("mnop")); //-1 since it does not find it in the string Javascript不提供您之前所要求的内容,因为它可以轻松地使用现有函数完成。您应该逐

假设我的数组是[“abcdefg”,“hijklmnop”],我在看“mnop”是否是这个数组的一部分。如何使用javascript方法实现这一点

我试过这个,但不起作用:

var array= ["abcdefg", "hijklmnop"];
console.log(array.indexOf("mnop")); //-1 since it does not find it in the string

Javascript不提供您之前所要求的内容,因为它可以轻松地使用现有函数完成。您应该逐个迭代每个数组元素,并对每个元素调用
indexOf

array.forEach(function(str){
    if(str.indexOf("mnop") !== -1) return str.indexOf("mnop");
});

Javascript不提供您之前所要求的内容,因为它可以轻松地使用现有函数完成。您应该逐个迭代每个数组元素,并对每个元素调用
indexOf

array.forEach(function(str){
    if(str.indexOf("mnop") !== -1) return str.indexOf("mnop");
});
可以这样做吗

最终,你可以用一千种不同的方式来做。几乎所有上面和下面的答案都有效

<script>
var n;
var str;
var array= ["abcdefg", "hijklmnop"];
//console.log(array.indexOf("mnop")); //-1 since it does not find it in the string
for (i = 0; i < array.length; i++) { 
    str = array[i];
    n = str.includes("mnop");
    if(n === true){alert("this string "+str+" conatians mnop");}
}
</script>

var n;
var-str;
var数组=[“abcdefg”,“hijklmnop”];
//log(array.indexOf(“mnop”))//-1,因为它在字符串中找不到它
对于(i=0;i
可以这样做

最终,你可以用一千种不同的方式来做。几乎所有上面和下面的答案都有效

<script>
var n;
var str;
var array= ["abcdefg", "hijklmnop"];
//console.log(array.indexOf("mnop")); //-1 since it does not find it in the string
for (i = 0; i < array.length; i++) { 
    str = array[i];
    n = str.includes("mnop");
    if(n === true){alert("this string "+str+" conatians mnop");}
}
</script>

var n;
var-str;
var数组=[“abcdefg”,“hijklmnop”];
//log(array.indexOf(“mnop”))//-1,因为它在字符串中找不到它
对于(i=0;i
一种可能的解决方案是通过
字符串筛选数组。匹配

var数组=[“abcdefg”,“hijklmnop”];
var res=array.filter(x=>x.match(/mnop/);

console.log(res)
一种可能的解决方案是通过
string.match过滤数组

var数组=[“abcdefg”,“hijklmnop”];
var res=array.filter(x=>x.match(/mnop/);
console.log(res)
您可以使用:

注:箭头功能是ES6/ES2015的一部分;是ES2016的一部分

Array#some
方法对数组中的每个项执行一个函数:如果该函数为至少一个项返回一个真实值,则
Array#some
返回真值。

您可以使用:

注:箭头功能是ES6/ES2015的一部分;是ES2016的一部分


Array#some
方法对数组中的每个项执行一个函数:如果该函数为至少一个项返回一个真实值,则
Array#some
返回真值。

注意:您的
i
变量是全局变量。@gcampbell这些变量不都是全局变量,不仅仅是
i
?:)请看这里,
i
这里是一个隐含的全局变量:人们通常为(var i=0;
而不是
编写
(i=0;
。如果循环中的代码也改变了全局
i
变量,这就成了一个问题。注意:
i
变量是全局变量。@gcampbell不是所有这些变量都是全局变量,不仅仅是
i
?:)请看这里,
i
这里是一个隐含的全局变量:人们通常为(var i=0;
而不是(i=0;
)的
。如果循环中的代码也会更改全局
i
变量。或者
array.some()
如果您只需要知道是否存在匹配,这就成了一个问题。因为
some()
可以在匹配后立即停止迭代。或者
array.some()
如果您只需要知道是否有匹配项。因为
some()
一旦有匹配项,就可以停止迭代。