Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于比较数组的javascript函数_Javascript_Jquery_Arrays_Comparison - Fatal编程技术网

用于比较数组的javascript函数

用于比较数组的javascript函数,javascript,jquery,arrays,comparison,Javascript,Jquery,Arrays,Comparison,可能重复: 我需要一个Javascript或jQuery函数来确定一个数组是否包含另一个数组的all值。第二个数组可以比第一个数组具有更多的值 这应该返回true或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 compari

可能重复:

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

这应该返回
true
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

性能不是一个问题。谢谢

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

注意。这是纯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)
{
    ....
}
var notFound=false;
for(var i=0,len=firstArray.length;i
检查第一个数组中的每个元素,并查看它是否存在于第二个数组中

注意。这是纯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)
{
    ....
}
var notFound=false;
for(var i=0,len=firstArray.length;i
更新:已将问题读得太快,以下仅在顺序相同时有效

function same_elements(array1, array2){  
  var result = true; 
  $(array1).each(function(index, value) {
    if (value != array2[index]) {result = false};
  });
  return result;
}

更新:阅读问题太快,只有在顺序相同的情况下,以下内容才有效

function same_elements(array1, array2){  
  var result = true; 
  $(array1).each(function(index, value) {
    if (value != array2[index]) {result = false};
  });
  return result;
}

类似的问题,请参阅。这些答案帮助我解决了这个问题。这些答案帮助了我。这对array1=[1,2,3]和array2=[1,2,1,3]不起作用。是的,刚刚意识到无序案例这对array1=[1,2,3]和array2=[1,2,1,3]不起作用。是的,刚刚意识到无序案例我刚刚发现的东西,对于那些具有更多编程技能的人来说,可能很明显的一点是,如果数组中的值是不同类型的,则返回false。在创建第二个数组时,我必须添加一个parseFloat()转换,以确保两个数组都包含数字。这篇文章提供了一些有用的信息,介绍了===的用法以及它将失败的原因。我的解决方案纯粹是针对原始int类型的,我不能保证它适用于对象、字符串等我刚刚发现的一些东西,对于那些有更多编程技能的人来说可能很明显的是,如果数组中的值是不同的类型,这将返回false。在创建第二个数组时,我必须添加一个parseFloat()转换,以确保两个数组都包含数字。这篇文章提供了一些有用的信息,介绍了===的用法以及它将失败的原因。我的解决方案纯粹针对原始int类型,我不能保证它适用于对象、字符串等