是否有javascript方法可以在字符串数组中查找子字符串?
假设我的数组是[“abcdefg”,“hijklmnop”],我在看“mnop”是否是这个数组的一部分。如何使用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不提供您之前所要求的内容,因为它可以轻松地使用现有函数完成。您应该逐
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()
一旦有匹配项,就可以停止迭代。