检查另一个数组中一个数组的元素

Ami*_*mar 0 javascript arrays jquery

我有3个数组,我想检查mainArray中是否存在任何子数组元素 - 然后它应该返回true.

我试过这个,但只有当mainArray包含子数组的所有项时它才返回true.

我的js:

var sub1 = ["0", "10"];
var sub2 = ["18", "3", "13", "4"];
var mainArr = ["0", "1", "5", "8", "9", "10"];
if (containsChk(sub1, mainArr)) {
    alert('yes');
} else {
    alert('no');
}

function containsChk(sub, main) {
    for (var i = 0, len = sub.length; i < len; i++) {
        if ($.inArray(sub[i], main) == -1) return false;
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

Eoi*_*rst 5

你应该使用array.indexOf()(http://www.w3schools.com/jsref/jsref_indexof_array.asp).

for (var i = 0; i < sub1.length; i++)
   if (mainArray.indexOf(sub1[i]) != -1)
      return true;
return false;
Run Code Online (Sandbox Code Playgroud)