<script>
var strr="北京,上海市,深圳,海南,北京,海南"; 
function show(str){
var ary= new Array();    
ary=str.split(",");
for(var i=0,i<ary.length;i++){if(i=0){
str=ary[i];
}
else{
for(var j=1,j<ary.length;j++){
if(ary[i]!=ary[j])
str=str+","+ary[i];
}
}
}
return str
}
show(strr);
</script>
随手下的一个

解决方案 »

  1.   


    <script type="text/javascript">
    var s = "北京,上海市,深圳,海南,北京,海南", n = "";
    do {
    n = s.replace(/([^,]+),(.*)\1(,|$)/g, "$1,$2");
    } while (n != s && (s = n));
    s = s.replace(/,$/, "");
    alert(s);
    </script>
      

  2.   


    <script type="text/javascript">
    Array.prototype.unique   =   function()  
      {  
          var   a   =   {};   for(var   i=0;   i<this.length;   i++)  
          {  
              if(typeof   a[this[i]]   ==   "undefined")  
                  a[this[i]]   =   1;  
          }  
          this.length   =   0;  
          for(var   i   in   a)  
              this[this.length]   =   i;  
          return   this;  
      }  
    var   str="北京,上海市,海南,北京,海南"  
      alert(str   +"\n"+   str.split(",").unique());
    </script> 
      

  3.   

    比较笨的方法,遍历。function a(str)
    {
     this.arr = str.split(",");
    }
    a.prototype.delRepeat = function()
    {
     for(var i = 0; i < this.arr.length; i++)
     {
      for(var j = i + 1; j < this.arr.length; j++)
      {
       if (this.arr[i] == this.arr[j])
       {
        this.arr.splice(j, 1);
       }
      }
     }
     return this.arr.join(",");
    }//调用方法
    str = "北京,上海市,深圳,海南,北京,海南" ;
    var b = new a(str);
    var newStr = b.delRepeat();
    alert(newStr);
      

  4.   

    我也发一个。var str="北京,上海市,深圳,海南,北京,海南";
    var s = str.split(",");
    var d = Array();
    for(i=0;i<s.length;i++)
    {
    if(!inArr(d,s[i]))
    d.push(s[i]);
    }
    document.write(d.toString())
    function inArr(arr,s)
    {
    for(j=0;j<arr.length;j++)
    {
    if(s==arr[j]) 
    {
    return true;
    break;
    }
    }
    return false;
    }
      

  5.   

    如果不在意顺序的话,可以先sort,然后再遍历var str="北京,上海市,深圳,海南,北京,海南" 
    var arr=str.split(',');
    arr.sort();for(var i=0;i<arr.length-1;i++)
    {
      if(arr[i]==arr[i+1]){alert(arr.splice(i,1));}
    }
    str=arr.join();
    alert(str)
      

  6.   

    <script type="text/javascript">
    var s = "北京,上海市,深圳,海南,北京,海南", n = "";
    do {
    n = s.replace(/([^,]+),(.*)\1(,|$)/g, "$1,$2");
    } while (n != s && (s = n));
    s = s.replace(/,$/, "");
    alert(s);
    </script>