国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jquery實(shí)現(xiàn)去除重復(fù)字符串的方法小結(jié)

2019-11-20 10:11:36
字體:
供稿:網(wǎng)友

本文實(shí)例總結(jié)了jquery實(shí)現(xiàn)去除重復(fù)字符串的方法。分享給大家供大家參考,具體如下:

這里總結(jié)了三種去除重復(fù)字符串的方法:

把例子貼上,用jQuery方便些,首先要搭好環(huán)境,就是在同一目錄下(同一文件夾下)保證有所使用的jquery1.8.1(如果是其他版本就在html代碼中作相應(yīng)改動(dòng))

第一:

<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("");//把字符串分割成一個(gè)數(shù)組   strArr.sort();//排序   var result=new Array();//創(chuàng)建出一個(gè)結(jié)果數(shù)組   var tempStr="";   for(var i in strArr)   {     if(strArr[i] != tempStr)     {      result.push(strArr[i]);      tempStr=strArr[i];     }     else     {      continue;     }   }   $('#noRepeat').val(result.join(""))//把數(shù)組連成字符串并展示到頁面 })})</SCRIPT></head><body>原值<input id="repeatValue" type="text" ><input id="delRepeat" type="button" value="去重"><input type="text" id="noRepeat"></body></html>

說明:通常就是把字符串分割成數(shù)組,再對(duì)數(shù)組操作,相對(duì)來說數(shù)組的方法多些,方便些,最后再join成字符串

關(guān)于sort()方法,之所以先對(duì)數(shù)組元素排序,就是因?yàn)榭梢园严嗤淖址麣w到一起,就不用再雙層循環(huán),要不然就得拿到每個(gè)元素,和剩余的逐個(gè)比對(duì),這個(gè)sort會(huì)按照ASCII 字符順序進(jìn)行升序排列

第二:

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

說明,這個(gè)unique方法確實(shí)方便,但有兩個(gè)缺陷:

1、只對(duì)數(shù)組有效(直接字符串不行),并且該數(shù)組不能是數(shù)字?jǐn)?shù)組,
2、只對(duì)相鄰的重復(fù)元素有效,隔開的不行。

例如:[a,a,b,b,c,c]---unique----》[a,b,c]有效
[a,a,b,b,c,c,a]--unique-->[a,b,c,a]元素a仍然重復(fù),無效

因此調(diào)用unique之前必須調(diào)用一下sort方法將其重復(fù)元素重排一下,挨在一起

但也因?yàn)檎{(diào)用了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;//預(yù)搜索方式(有的叫斷言)     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>

說明:

var reg =/(.)(?=.*/1)/g;
.匹配任意字符,但只能匹配任意字符中的一個(gè)
(.)加上()就是將匹配的該字符存儲(chǔ)起來供以后引用
(?=)預(yù)搜索(也有叫斷言的,也有叫預(yù)查的),指明某個(gè)字符的右側(cè)是什么,但不包含這部分,只取這個(gè)‘某個(gè)字符'
如:p(?=ing)     匹配字符串ping時(shí)匹配成功,但匹配到的字符是p不是ping
(?=.*/1) 這個(gè)/1就是指的前面(.)的這個(gè)字符,之前說它被加上小括號(hào)就是被存儲(chǔ)起來了,現(xiàn)在/1就是取存儲(chǔ)的第一個(gè)(共一個(gè))
*匹配次數(shù),也有人稱之為量詞,指出現(xiàn)任意次
.*指出現(xiàn)任意次任意字符
(.)(?=.*/1)指第一個(gè)匹配字符,如果右側(cè)出現(xiàn)的內(nèi)容中包含該字符時(shí)就匹配上該字符
 g    指globle,全局匹配模式,匹配所有字符串

這個(gè)去重的結(jié)果其實(shí)是倒著來排序的,就是說重復(fù)字符出現(xiàn)在前面的都被置空了,是按一個(gè)字符從后往前出現(xiàn)的順序排的

另:關(guān)于去重感興趣的朋友還可以參考本站在線工具

在線去除重復(fù)項(xiàng)工具

更多關(guān)于jQuery相關(guān)內(nèi)容可查看本站專題:《jQuery操作xml技巧總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動(dòng)畫與特效用法總結(jié)》、《jquery選擇器用法總結(jié)》及《jQuery常用插件及用法總結(jié)

希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 杭州市| 尼木县| 阳东县| 西乌珠穆沁旗| 曲阳县| 湘阴县| 高清| 长葛市| 东乡族自治县| 长乐市| 分宜县| 寿宁县| 延庆县| 元氏县| 芒康县| 交口县| 夹江县| 新竹县| 庆云县| 文化| 延津县| 榆林市| 永济市| 启东市| 诏安县| 洞口县| 漠河县| 突泉县| 桑植县| 开江县| 措勤县| 新津县| 青海省| 株洲县| 仁化县| 邯郸市| 上饶市| 许昌县| 治县。| 昆明市| 盐津县|