一个字符串,里面有很多相同的,如何去掉?如下这种格式例子:var str = "zhang abc235;zhang abc123;zhang abc789;wang abc123;zhang abc123;":
最后得到的效果是 去掉重复的
var str = "zhang abc235;zhang abc789;wang abc123;zhang abc123;":谢谢

解决方案 »

  1.   

    function arrayReplace(str, chart) {  
                var o = {},array = str.split(chart);  
                for (var i = 0; i < array.length; i++) {  
                    o.array[i] = array[i];  
                }  
                array = [];  
                for(var el in o) {    
                        array.push(o.el);  
                }
                return array;
            }
    var str = "zhang abc235;zhang abc789;wang abc123;zhang abc123;"
    var result = arrayReplace(str, ' ');
      

  2.   

    呵,写了个笨办法!var str = "zhang abc235;zhang abc123;zhang abc789;wang abc123;zhang abc123;";
    var stlist=str.split(";");
    var newstr=new Array();
    var z=0;
    var acne="";
    for(i=0;i<stlist.length;i++)
    {
    var flag=0;
    for(j=i+1;j<stlist.length;j++)
    {
    if(stlist[i]==stlist[j])
    {
    flag=1;
      break;
    }
    else{
    flag=0;
    }
    }
    if(flag!=1)
    {
    newstr[z]=stlist[i];
    z+=1;
    }
    }
    //alert(newstr.length);
    var stddd="";
    for(i=0;i<newstr.length;i++)
    {
     
    stddd+="第"+ parseInt(i+1)+"个值"+newstr[i]+"\n";
    }
    alert(stddd);
      

  3.   

    var str = "zhang abc235;zhang abc123;zhang abc789;wang abc123;zhang abc123;";
    最后一个分号去掉
    var str = "zhang abc235;zhang abc123;zhang abc789;wang abc123;zhang abc123";
      

  4.   

    var str = "zhang abc235;zhang abc123;zhang abc789;wang abc123;zhang abc123;";var strArray = str.split(';');
    for(var i=0,s;s=strArray[i];i++){
        var j=0;
        str = str.replace(new RegExp(s,'g'),function(a,b,c,d){
               if(!j){
                    j++;
                    return a;
                }else{
                    return '';
                }
        })

    alert(str)
      

  5.   


    var s =str.replace(/,/g, "");
       var temp = s.split(';');
             var result = [];
             var oo = {};
             for(var i in temp)
             {
                if(!oo[temp[i]])
                {
                    result.push(temp[i]);
                    oo[temp[i]] = temp[i];
                }  
             }
    这种不错,我找的。
      

  6.   

    看了上面的回复都是循环的,可以采取这里的办法,可能会加快代码的速度 http://www.cnblogs.com/huangtailang/archive/2011/05/19/2051139.html#commentform