Javascript 检查对象项中的数组是否包含子字符串
我知道我可以遍历数组并检查其中一个项是否等于一个项,如下所示:Javascript 检查对象项中的数组是否包含子字符串,javascript,arrays,Javascript,Arrays,我知道我可以遍历数组并检查其中一个项是否等于一个项,如下所示: var myObject = { myArray : ["someString", "anotherString"] } for (var obj in myObject){ if (myObject[obj].indexOf("someString") > -1) { //In the array! } else { //Not in the array } } 但是我
var myObject = {
myArray : ["someString", "anotherString"]
}
for (var obj in myObject){
if (myObject[obj].indexOf("someString") > -1) {
//In the array!
} else {
//Not in the array
}
}
但是我如何检查数组中的任何项是否包含传递到indexOf方法的项呢
我的意思是:如果这部分看起来像这样:如果myObject[obj].indexOfsome>-1。我仍然希望它捕获myArray中的someString,并使if语句返回true您已经在循环对象以获取每个数组。现在,您需要在数组中循环以检查字符串是否存在于每个元素中。下面的代码段将允许您检查myObject中的每个条目,以查看值是否在每个数组中 变量myObject={ myArray:[someString,另一个String], 另一个数组:[fooString,另一个string] } 对于myObject中的var obj{ var=false; var theArray=myObject[obj]; 对于变量i=0;i
}您需要迭代数组中的字符串并执行单独的indexOf检查。如果您不关心myArray中的某些位置,可以通过将数组转换为字符串来测试其存在性。示例:myObject[obj].join.indexOfsome>-1或myObject[obj].toString.indexOfsome>-1。假设传入indexOf方法的字符串如下所示:indexOfsome-else。如何使myArray仍然为true?即使传入另一个字符串,我也需要它为true,只要它包含一些字符串。哪一个可以是这些中的任何一个,例如:a someString b,a someB,a someB等。