2012-04-17 66 views
1

我有一个简单的应用程序,我要比较两个数组。比较两个相同大小的diff数组

function check() { 
    var Array1 = value.length; 
    var Array2 = selected_value.length; 
    alert(Array1 + "," + Array2); 
    for (var i = 0; i < Array1; i++) { 
     for (var j = 0; j < Array2; j++) { 
      if (value[i] == selected_value[j]) { 
       alert("both div are same"); 
      } 
     } 
    } 
}​ 

我的数组每个都有4个元素,但不满足if条件。

+4

将来,请考虑花费更多时间来格式化您的问题。使它看起来像你已经花了超过4秒钟通过正确的缩进和正确的拼写来写你的问题将增加你获得答案的机会。 – Matt 2012-04-17 10:02:10

+0

想象一下执行任务的算法。你对每个值(sic!)的组合都进行检查,不管它们是否相同,并且对于每个相同的对,它都会提醒“两个div是相同的”。 – Bergi 2012-04-17 10:03:36

+0

你的代码工程:http://jsfiddle.net/BBedy/ – 2012-04-17 10:03:38

回答

-2

这里是功能,使用它可以比较两个数组

function arraysEqual(arr1, arr2) { 
    if(arr1.length !== arr2.length) 
     return false; 
    for(var i = arr1.length; i--;) { 
     if(arr1[i] !== arr2[i]) 
      return false; 
    } 

    return true; 
} 

Source

您可以检查是否数组返回false,这样

if(!arrayEqual(arr1,arr2)) { 
    // false 
} 
+1

足够的令人毛骨悚然的downvote – Starx 2012-04-17 10:11:02

+0

你的代码工作Starvx我是新的JavaScript如果假设如果该数组返回false,那么如何检查它....我知道这个问题是毫无价值的,但你能帮助我 – Pranali 2012-04-17 10:15:28

+0

@Pranali,检查更新 – Starx 2012-04-17 10:17:30

0

试图查看YOUT值。在if之前write console.log(value [i],selected_valuw [j])并检查它们是否相似

+0

中的项目我检查,当这个值不相似,那么我也得到了真正的值 – Pranali 2012-04-17 11:10:22

+0

是布尔运算符是正确的或它会!= – Pranali 2012-04-17 11:11:21