function filter(a1, a2) {
var myAry = [];
var fun = function(item,ary) {
var boo = false;
for(var i=0;i<ary.length;i++) {
if(item==ary[i]) {
boo = true;
break;
}
}
return boo;
}
for(var i=0;i<a1.length;i++) {
if(!a2.contains(a1[i]))
myAry.push(a1[i]);
}
return myAry;
}                var c = filter(a,b)

解决方案 »

  1.   


    Array.prototype.contains = function(obj) {
    var boo = false;
    for(var i=0;i<this.length;i++) {
    if(typeof obj == "object") {
    if(this[i].equals(obj)) {
    boo = true;
    break;
             }
    }else {
    if(this[i] == obj)  {
           boo = true;
           break;
    }
    }
    }
    return boo;
    }
    function filter(a1, a2) {
    var myAry = [];
    var fun = function(item,ary) {
    var boo = false;
    for(var i=0;i<ary.length;i++) {
    if(item==ary[i]) {
          boo = true;
          break;
    }
    }
    return boo;
    }
    for(var i=0;i<a1.length;i++) {
    if(!a2.contains(a1[i]))
    myAry.push(a1[i]);
    }
    return myAry;
    }var a=['1','2','3','4'] ;
    var b=['1','2'] ;var c = filter(a,b);
    alert(c);//输出["3","4"]
      

  2.   

    见http://zhouyrt.javaeye.com/admin/blogs/285972
      

  3.   

    var init=document.getElementById("hidinit").value;
      var all=document.getElementById("hidall").value;
    init取出来是['1','2','3','4']
    all取出来是['1','2']
    这个是不是不能用你这个比?
      

  4.   


    <script>
    var a=['1','2','3','4'];
    var b=['1','2'];
    var c=[];
    for (var i in a) {
     var tmp=false;
     for (var j in b) {
      if(b[j]==a[i])
      tmp = true;
     }
     if(tmp==false)
      c.push(a[i]);
    }
    alert(c);
    </script>