$a="1,2,1,3,4,5,2,6,3"$b="1,2,3,4,5,6"$c=6
1.如何将$a中重复的字段删除 显示为$b.
2.如何获得$b中数组的个数 显示为$c.

解决方案 »

  1.   


    Array.prototype.unique = function() {
    var map = {}, res=[];
    for (var i=0, length=this.length; i<length; i++) {
    var id = this[i];
    if (!map[id]) {
    map[id] = true;
    res.push(id);
    }
    }
    return res;
    };
    $a="1,2,1,3,4,5,2,6,3"$b="1,2,3,4,5,6"$c=6alert($a.split(",").unique().join(","))
    alert($b.split(",").length)
      

  2.   

    silce var arr=[]; arr.length
      

  3.   


    $a = "1,2,1,3,4,5,2,6,3";
    var a = $a.split(",");
    var b = [];
    for(var i=0;i<a.length-1;i++){
        var f = false;
        for(j=0;j<b.length;j++){
            if(a[i]==b[j]) {f = true; break;}
        }
        if(!f) b[b.length]=a[i];
    }
    b.sort();
    $b = b.join(",");
    $c = b.length;
      

  4.   


       <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script type="text/javascript">
        var o = [1,1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,5,5,5,6,6];
        
    Array.prototype.unique=function()
    {
       var ret=[];
       var done={};
       for(var i=0;i<this.length;i++)
       {
          if(!done[this[i]])
      {
         done[this[i]]=true;
        ret.push(this[i]);
      }
       }
       return  ret;
    }
    o=o.unique();
    document.write('新数组长度:'+o.length+'<br />');
    for(var i=0;i<o.length;i++)
    {
       document.write(o[i] + '  ');
    }
    </script>
    </head>
    <body>
    </body>
    </html>