我知道我可以遍历一个数组并检查其中一个项目是否等于一个项目,如下所示:
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-method的项目。
我的意思是:如果此部分如下所示:if (myObject[obj].indexOf("some") > -1)
。我仍然希望它捕获"someString"
中的myArray
并使if语句返回true
答案 0 :(得分:1)
您已经遍历对象以获取每个数组。现在,您需要遍历数组以检查每个元素中是否存在字符串。下面的代码段将允许您检查myObject
中的每个条目,以查看该值是否在每个数组中。
var myObject = {
myArray: ["someString", "anotherString"],
anotherArray: ["fooString", "anotherString"]
}
for (var obj in myObject) {
var exists = false;
var theArray = myObject[obj];
for (var i = 0; i < theArray.length; i++) {
if (theArray[i].indexOf("some") > -1) {
exists = true;
}
}
if(exists) {
alert(obj + ' yes');
} else {
alert(obj + ' no');
}
}
&#13;