两个数组里面的值作比较,如:String[]arr1=new String[]{"1","5","6","7"};
          String[]arr2=new String[]{"1","2","3","4"}; 
  
数组arr1和arr2比较,如果arr1里面的值再arr2里面有!这取出arr1不在arr2里面的值。就比如arr1 的1 在arr2 里面有 则就取出 arr1里面剩下的值  5、6、7

解决方案 »

  1.   

    <script>
    Array.prototype.indexOf=function(o){
        for(var i=0;i<this.length;i++){
            if(o==this[i])return i;
        }
        return -1;
    }
    var arr1=["1","5","6","7"]
    var arr2=["1","2","3","4"]; 
    var rtn=[];
    for(var i=0;i<arr1.length;i++){
        if(arr2.indexOf(arr1[i])==-1)rtn[rtn.length]=arr1[i];
    }
    alert(rtn);
    </script>
      

  2.   

    java 和 javascript还是有很多差别的。
      

  3.   

    try Javascript:Array.prototype.remove=function(v){
    if(v>=0){
    return   this.slice(0,v).concat(this.slice(v+1,this.length)); 
    }
    return this;
    } var arr1=[1,5,6,7,8,0];
    var arr2=[1,5,6,4,1,"8",0];
    for(var i=0;i<arr1.length;i++){
    for(var j=0;j<arr2.length;j++){
    if(arr1[i]===arr2[j]){
    arr1=arr1.remove(i);
    continue;
    }

    }
    }
        alert(arr1.join(",")) //7,8
      

  4.   


    var a = [1,5,6,7];
    var b = [1,2,3,4];
    var c = [5,6];Array.prototype.diff = function()
    {
    var ary = [],hash = {},ret = [];
    for(var i=0,j=arguments.length;i<j;i++) ary = ary.concat( arguments[i] );
    for(var m=0,n=ary.length;m<n;m++) hash[ ary[m] ] = true;
    for(var k=0,l=this.length;k<l;k++) if( !hash[ this[k] ] ) ret[ret.length] = this[k];
    return ret;
    }
    alert( a.diff(b) );//5,6,7
    alert( a.diff(b,c) );//7
      

  5.   

    也很简单啊:import java.util.LinkedList;  
    public class arrCompare {  
           public static void main(String[] args) {  
                  String[] arr1 = new String[]{"1","5","6","7"};  
                  String[] arr2 = new String[]{"1","2","3","4"};
      
                  String[] arro = arrContrast(arr1, arr2);//“arro”就是您想得到的数组
                  System.out.println("您想要的结果为:");  
                  for (String str : arro) {  
                         System.out.println(str);  
                  }  
           }  
           private static String[] arrContrast(String[] arr1, String[] arr2) {  
                  LinkedList<String> list = new LinkedList<String>();  
                  for (String str : arr1) {  
                         if (!list.contains(str)) {  
                               list.add(str);  
                         }  
                  }  
                  for (String str : arr2) {  
                         if (list.contains(str)) {  
                               list.remove(str);  
                         } 
                  }  
                  String[] result = {};  
                  return list.toArray(result);  
           }  
    } Test:
    D:\>javac arrCompare.javaD:\>java arrCompare
    您想要的结果为:
    5
    6
    7
      

  6.   


    var arr1 = ["1","5","6","7"];
    var arr2 = ["1","2","3","4"];
    for (var i=arr1.length-1; i>=0; i--)//从后向前循环arr1,以规避剪掉成员长度变化的问题
    {
    for ( var j=0; j<arr2.length; j++)//arr2就没有顺序问题了
    {
    if (arr1[i]==arr2[j]) arr1.splice(i,1);//如果找到相同的,减掉
    }
    }
    alert(arr1);//arr1剩下的结果
      

  7.   

    各位大哥大姐可能是我的问题,你们这种我能理解。也确实可以取出“不同”的值!我现在做一个关于树的问题。就是现在的MzTreeView带复选框的树,根据选择的值点击移到右边的div中,这个值倒是赋过来就是可以不停赋 有很多重复的项!我很郁闷。
      
      

  8.   

    那你是不是需要这个:单数组删除重复项 var arr = ["a","b","c","a","d","c"];
    for (var i=arr.length-1; i>=0; i--)
    {
    var targetNode = arr[i];
    for (var j=0; j<i; j++)
    {
    if(targetNode == arr[j]){
    arr.splice(i,1);
    //alert(arr);
    break;
    }
    }
    }
    alert(arr);
      

  9.   

    楼主啥意思?是说不要弹出提示框么?
    那把最后一句 alert(arr); 删了不就不显示了……
    然后您拿这个arr随便怎么处理呗……
    我有点没太理解您的意思 
      

  10.   

    再给小朋友整一个:
    TRY ——<script type=text/javascript>
    Array.prototype.Remover = function(arr){
          var hsh = {},
          arr = !!arr?this.concat(arr):this;
          for(var i = 0; !!arr[i]; i ++) 
          hsh[arr[i]] = ""; arr.length = 0;
          for(var p in hsh) arr.push(p);
          return arr;
    }alert(["1","2","3","4",1,"5"].Remover());
    alert(["1","2","3","4",1,"5"].Remover(["1","6","7","8",9,"3"]));
    </script>