网页前端设计

http://www.86y.org
feedskyQQ邮箱

搜索文章

js去掉重复字符

关注我吧
 2012/7/28 11:20:24 阅读次数:3214

JS实现去除字符串中重复的内容,本文用了挨个比较的方法来存入另一个数组中。然后返回,并用了判断一旦有重复就退出不赋值,进入下一个循环比较。依此类推,最后显示出不重复的值。呵呵一个字符串 里面有很多相同如何处理 如下这种格式例子:

第一种方法:

<script type="text/javascript">
var str = "zhang abc235;zhang abc123;zhang abc789;wang abc123;zhang abc123";
var str1="1;2;3;4;5;3;2;1;5";
function delrepeat(str)
{
	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;
		}
	}
	var stddd="";
	for(i=0;i<newstr.length;i++)
	{		 
		stddd+="第"+ parseInt(i+1)+"个值"+newstr[i]+"\n";
	}
	return stddd;
}
alert(delrepeat(str));
alert(delrepeat(str1));
</script>

第二种方法:正则替换方法

<script>
var str = "zhang abc235;zhang abc123;zhang abc789;wang abc123;zhang abc123;";
function delrepeat(str){
    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];
		}  
	}
    return result;
}
alert(delrepeat(str));
</script>

当然还有许多方法都可以实现,这里就不一一列举了!

参考:js中退出语句break,continue和return 比较


大家有什么问题或技术上的想法可以在此与大家分享,也可以加入前端爱好者QQ群(141999928)一起学习进步:【幸凡前端技术交流群】
0

如果您觉得本文的内容对您的学习有所帮助,捐赠与共勉,支付宝(左)或微信(右)

阅读全文内容关闭