var str='广州,北京,广州,上海,深圳';
我想把相同地地址留一个:结果为:'广州,北京,上海,深圳'
---------------------------------------------------------------
用正则恐怕写不出来吧?用脚本的如下:
var str="广州,北京,广州,上海,深圳,北京,广州,上海,深圳,北京,广州,上海,深圳";
var ar = str.split(",");
var hash = new Object();
for (var i=0;i
1<ar.length;i++) (r[r.length-1]!="ar[i])" (var="" --="" 02="" 04="" 2003="" ;="" <!--="" \---------------------------------------------------------------="" alert(r.join(","))="" alert(result)="" ar='str.split(",").sort();' ar[ar.length]="i;" by="" derek.f="" for="" hash)="" hash[ar[i]]="true;" http:="" i="0;i<ar.length;i++)" if="" in="" mindon.topcities.com="" r="[ar[0]];" r[r.length]="ar[i];" result='ar.join(",");' str="广州,北京,广州,上海,深圳,北京,广州,上海,深圳,北京,广州,上海,深圳" var="" 呵呵,还是用常规方法吧:="">
2<script language="JavaScript">
3<!--
4
5// s 可以是数组或者带分隔符的字符串
6// x 原分隔符 (可省略,缺省为逗号,)
7// y 目标串分隔符 (可省略,缺省为x)
8function uniqs(s,x,y)
9{
10var s, x, y, n=0, tmp=[], uni=[];
11if(!x) x = ",";
12if(!y) y = x;
13if(typeof(s) == "object") s = s.join(x);
14s += x;
15var rexp = new RegExp("([^" +x +"\\\s]+)(\\\s*" +x +"\\\s*)+", "g");
16s = s.replace(rexp, "tmp[\"$1\"]=\"$1\";");
17eval(s);
18for(var k in tmp) uni[n++] = tmp[k];
19return uni.join(y);
20}
21
22alert(uniqs("广州 , 北京 , 广州,深圳, 天津 , "));
23alert(uniqs(["广州", " 北京", " 广州 ", "深圳 ", " 天津 "]));
24
25//-->
26</script>
27此函数能处理空字符,数组和不同分隔符的串,并生成指定分隔符的串。
28!!!!!绝对值的珍藏!!!!!!!</ar.length;i++)>