用正则去掉数组中重复的元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用正则去掉数组中重复的元素相关的知识,希望对你有一定的参考价值。

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>

//去掉数组中重复的元素

//此题最主要就是对数组进行排序拼接,在进行replace的替换,在进行分割,将其return到外部

//随机生成随机数压入空数组arr中

for(var i=0,arr=[];i<10;i++){
arr.push(parseInt(Math.random()*(12-8+1)+8));
}
console.log(String(arr));
function quchongfu(arr){//局部变量

return arr.sort()//先进行排序
.join(",,")//以,,进行拼接形如 a,,a,,b,,b,,b,,c,,d,,d
.replace(/(^|,)([^,]+)(,,\2)+(,|$)/g,"$1$2$4")

.split(",,");
}
arr=quchongfu(arr);//全局变量
console.log(String(arr));

 

//var reg=/(^|,)([^,]+)(,,\2)+(,|$)/g;
     // $1      $2      $3      $4

//.replace(/^,|,$/g,"")若将上面的这句改为这样,就是将重复的元素全部删除


</script>
</head>
<body>

</body>
</html>

此文比较简单,方便以后查看

另外,还有一个小知识

var str="Jack is not a good man";//要将此句输出为 "Jack5 is6 not7 a8 good9 man10";

var i=5;

str.replace(/\b([a-zA-Z]+)\b/g,function(x){return x+(i++);})//输出结果为"Jack5 is6 not7 a8 good9 man10"

//其中\b XXX \b这个是单词边界,用于匹配某个单词

用正则方法匹配,简单方便

以上是关于用正则去掉数组中重复的元素的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中,如何去掉LIST里的重复元素

如何去掉一个数组的重复元素:数组去重

matlab中为啥用unique数组去掉重复元素后,还有相同的元素

Ex 2_14 去掉数组中所有重复的元素..._第二次作业

关于如何去除数组中重复项

C语言问题 把一个数组中的重复元素去掉