js中怎样判断两个数组是否有相同的值

解决方案 »

  1.   

    L@_@K<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
      <title> new document </title>
      <meta name="generator" content="editplus" />
      <meta name="author" content="" />
      <meta name="keywords" content="" />
      <meta name="description" content="" />
     </head> <body>
      <script type="text/javascript">
      <!--
    Array.ExistsSameValues = function(a1, a2) {
    var exists = false;
    if(a1 instanceof Array && a2 instanceof Array)
    {
    for (var i=0,iLen=a1.length; i<iLen; i++)
    {
    for (var j=0,jLen=a2.length; j<jLen; j++)
    {
    if (a1[i]===a2[j])
    {
    return true;
    }
    }
    }
    }
    return exists;
    };var a1 = [1, 2, 5, 8];
    var a2 = [3, 1, 9, 5];alert(Array.ExistsSameValues(a1, a2));
      //-->
      </script>
     </body>
    </html>
      

  2.   


    var arr1=["a","b","c"];
      var arr2=["a","f","g","c"];
      var arr3=[];
      for(var s in arr1){
    for(var x in arr2){
    if(arr1[s]==arr2[x]){
    arr3.push(arr1[s]);
    }
    }
      }  alert("相同的元素有"+arr3)
      

  3.   

    == 肯定不行,要用 ===,不信你 L@_@Kvar arr1=["1","2","3"];
    var arr2=[1,"f","g",3];
    var arr3=[];
    for(var s in arr1){
    for(var x in arr2){
    if(arr1[s]==arr2[x]){
    arr3.push(arr1[s]);
    }
    }
    }
    alert("相同的元素有"+arr3); // 1, 3