日期:2014-05-16  浏览次数:20473 次

js 中去掉重复的字符串
一个字符串,里面有很多相同的,如何去掉?

如下这种格式例子:

var str = "zhang abc235;zhang abc123;zhang abc789;wang abc123;zhang abc123;":


最后得到的效果是 去掉重复的
var str = "zhang abc235;zhang abc789;wang abc123;zhang abc123;":

谢谢


------解决方案--------------------
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, ' ');
------解决方案--------------------
呵,写了个笨办法!
HTML code

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);

------解决方案--------------------
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)