jquery 多个字符串去重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery 多个字符串去重相关的知识,希望对你有一定的参考价值。

如题,比如字符串:
<ul>
<li>aaa<li/>
<li>bbb<li/>
<li>ccc<li/>
<li>ddd<li/>
<li>aaa<li/>
<li>bbb<li/>
<li>ccc<li/>
<li>ddd<li/>
<li>123<li/>
<li>123<li/>
</ul>
以下最终是我想保留的:
<ul>
<li>aaa<li/>
<li>bbb<li/>
<li>ccc<li/>
<li>ddd<li/>
<li>123<li/>
</ul>
这些我是用for循环出来的字符串,我想去掉其中重复的,该怎么处理?有没有大神帮帮我啊,数组去重我倒是会,可是像这种字符串去重该怎么来做呢?
var result = str.match(patten);
for(i in result) //result是从一段富文本里面提取出来的
patten.lastIndex = 0;
reslut_a = patten.exec(result[i]);
array_count = reslut_a[2].split('、');
for(j in array_count)
//我想在这里处理去重
document.write(array_count[j]);


这只是其中一小段代码,我想拿到 array_count[j] 这个之后去重,我该怎么来处理啊?

方法1,用字符串截取substring()和字符位置查询indexOf();
string.substring(start,end) 从string中截取一段字符串。
start:截取开始位置。
end:截取结束位置。

string.indexOf(findstr),查找指定的字符串在string中的位置
findstr:要找的字符串

var str1="aaa@hotmail.com";//要截取@到.之间的内容
var str2=str1.substring(str1.indexOf("@")+1,str1.indexOf("."));
console.log(str2);

方法2,用正则表达式
[\@]匹配@
[\.]匹配.
.匹配任意字符
+匹配前面内容一次或多次
*匹配签名内容0次或多次
()中的内容可以被替换为$1,就是我们要找的部分
$1,$2,……可以匹配正则式中(),按顺序编号第一个括号为$1,第二个位$2,以此类推

var str1="aaa@hotmail.com";//要截取@到.之间的内容
var reg=new RegExp('.*[\@]+(.*)[\.]+.*');
var str2=str1.replace(reg,"$1");
console.log(str2);
参考技术A var result = str.match(patten);
//改为这样的for循环、因为那样的有浏览器不兼容。。。
for(var i=0;i<result.length;i++) 
    patten.lastIndex = 0;
    reslut_a = patten.exec(result[i]);
    array_count = reslut_a[2].split('、');
    var map=;
    for(var j=0;j<array_count.length;j++)
        var aj=array_count[j];
        //如果map中不存在这个字符串,就输出,然后再添加
        //以达到去重的效果
        if(null == map[aj])
            document.write(aj);
            map[aj]=1;
        
    

追问

你好,我按照你说的改了下,报length of null错呢

追答

那就看你自己写的代码是不是调用了null对象了。。。。。。

追问

没有调用null对象,我在第一个for循环里面console.log(result)有好多个null,所以导致第一个for循环里面的result.length直接报错呢

以上是关于jquery 多个字符串去重的主要内容,如果未能解决你的问题,请参考以下文章

oracle 多表多字段去重问题!

G1 垃圾回收器中的字符串去重 ( Java 8 Update 20 )

集合+字符编码

jquery 在一段字符串中匹配多个结果,怎么取得最后一个匹配的结果

jQuery:包含选择器来搜索多个字符串

替换jquery中字符串中多次出现的多个子字符串