首页 > 语言 > JavaScript > 正文

jquery实现去除重复字符串的方法小结

2024-05-06 14:58:55
字体:
来源:转载
供稿:网友

本文实例总结了jquery实现去除重复字符串的方法。分享给大家供大家参考,具体如下:

这里总结了三种去除重复字符串的方法:

把例子贴上,用jQuery方便些,首先要搭好环境,就是在同一目录下(同一文件夹下)保证有所使用的jquery1.8.1(如果是其他版本就在html代码中作相应改动)

第一:

<html><head><script src="jquery-1.8.1.js"></script><SCRIPT LANGUAGE="JavaScript">$(function(){ $('#delRepeat').click(function(){  var str = $('#repeatValue').val();   var strArr=str.split("");//把字符串分割成一个数组   strArr.sort();//排序   var result=new Array();//创建出一个结果数组   var tempStr="";   for(var i in strArr)   {     if(strArr[i] != tempStr)     {      result.push(strArr[i]);      tempStr=strArr[i];     }     else     {      continue;     }   }   $('#noRepeat').val(result.join(""))//把数组连成字符串并展示到页面 })})</SCRIPT></head><body>原值<input id="repeatValue" type="text" ><input id="delRepeat" type="button" value="去重"><input type="text" id="noRepeat"></body></html>

说明:通常就是把字符串分割成数组,再对数组操作,相对来说数组的方法多些,方便些,最后再join成字符串

关于sort()方法,之所以先对数组元素排序,就是因为可以把相同的字符归到一起,就不用再双层循环,要不然就得拿到每个元素,和剩余的逐个比对,这个sort会按照ASCII 字符顺序进行升序排列

第二:

<html><head><script src="jquery-1.8.1.js"></script><SCRIPT LANGUAGE="JavaScript">$(function(){ $('#delRepeat').click(function(){  var str = $('#repeatValue').val();   var strArr=str.split("");   //排序   strArr.sort();    var result =$.unique(strArr);   $('#noRepeat').val(result.join("")); })})</SCRIPT></head><body>原值<input id="repeatValue" type="text" ><input id="delRepeat" type="button" value="去重"><input type="text" id="noRepeat"></body></html>

说明,这个unique方法确实方便,但有两个缺陷:

1、只对数组有效(直接字符串不行),并且该数组不能是数字数组,
2、只对相邻的重复元素有效,隔开的不行。

例如:[a,a,b,b,c,c]---unique----》[a,b,c]有效
[a,a,b,b,c,c,a]--unique-->[a,b,c,a]元素a仍然重复,无效

因此调用unique之前必须调用一下sort方法将其重复元素重排一下,挨在一起

但也因为调用了sort方法,顺序给重排了如:[b,b,c,c,a,a]---unique-->[a,b,c]不是[b,c,a]

第三:

<html><head><script src="jquery-1.8.1.js"></script><SCRIPT LANGUAGE="JavaScript">$(function(){ $('#delRepeat').click(function(){  var str = $('#repeatValue').val();     var reg = /(.)(?=.*/1)/g;//预搜索方式(有的叫断言)     var result = str.replace(reg, "");     $('#noRepeat').val(result); })})</SCRIPT></head><body>原值<input id="repeatValue" type="text" value="aca" ><input id="delRepeat" type="button" value="去重"><input type="text" id="noRepeat"></body></html>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选