js去除重复字符串实例分享

发布时间:2020-09-04编辑:脚本学堂
本文介绍了js去除重复字符串的二种方法与实现代码,js去除字符串的重复内容,附有代码说明,有需要的朋友参考下。

本节内容:
js去除字符串中重复内容的方法。

方法一:
通常把字符串分割成数组,再对数组操作。
 

复制代码 代码示例:
var str = "aabdeegdcffdsf",
result = [],
tempstr = "";
var removeduplicate = function ( str ){
var arr = str.split('');//把字符串分割成数组
//arr.sort();//排序
for(var i = 0; i < arr.length; i++){
    if(arr[i] !== tempstr){
  result.push(arr[i]);
  tempstr = arr[i];
     }else{
  continue;
    }
}
return result.join("");
 } // www.jb200.com
console.log(removeduplicate(str)); //abdegdcfdsf

方法二:
 

复制代码 代码示例:
var removeduplicate2 = function(str){
var reg = /(.)(?=.*1)/g;
var result = str.replace(reg, "");
return result;
  }
console.log(removeduplicate(str)); //abdegdcfdsf

说明:
 1、var reg =/(.)(?=.*1)/g;
 2、.匹配任意字符,但只能匹配任意字符中的一个;
 3、(.)加上()就是将匹配的该字符存储起来供以后引用;
 4、(?=)预搜索(也有叫断言的,也有叫预查的),指明某个字符的右侧是什么,但不包含这部分,只取这个‘某个字符’,如:p(?=ing)匹配字符串ping时匹配成功,但匹配到的字符是p不是ping;
 5、(?=.*1) 这个1就是指的前面(.)的这个字符,之前说它被加上小括号就是被存储起来了,现在1就是取存储的第一个(共一个):
     *匹配次数,也有人称之为量词,指出现任意次
     .*指出现任意次任意字符
 6、(.)(?=.*1)指第一个匹配字符,如果右侧出现的内容中包含该字符时就匹配上该字符;
 7、 g指globle,全局匹配模式,匹配所有字符串;
 8、这个去重的结果其实是倒着来排序的,就是说重复字符出现在前面的都被置空了,是按一个字符从后往前出现的顺序排的。