1

可能重复:
使用 jQuery 比较两个数组

我需要一个 Javascript 或 jQuery 函数来确定一个数组是否包含另一个数组的所有值。第二个数组可以有比第一个更多的值。

这应该返回trueor false。例如。

comparing  array1 = [1,2,3]  and  array2 = [1,2]      should return false

comparing  array1 = [1,2,3]  and  array2 = [1,1,2]    should return false

comparing  array1 = [1,2,3]  and  array2 = [3,2,1]    should return true

comparing  array1 = [1,2,3]  and  array2 = [1,2,1,3]  should return true

性能不是问题。谢谢!

4

2 回答 2

1

检查第一个数组中的每个元素并查看它是否存在于第二个数组中。

注意。这是纯 javascript,可能是 jQuery 中更简单的方法。

var notFound = false;

for(var i = 0, len = firstArray.length; i < len; i++){
    if(secondArray.indexOf(firstArray[i]) === -1)
    {
         notFound = true;
         break;
    }
}

if(notFound)
{
    ....
}
于 2012-05-03T00:30:24.097 回答
0

更新:阅读问题太快了,只有在相同的顺序下才有效

function same_elements(array1, array2){  
  var result = true; 
  $(array1).each(function(index, value) {
    if (value != array2[index]) {result = false};
  });
  return result;
}
于 2012-05-03T00:33:00.833 回答