码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-03-06 23:31:58      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

<!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这个是单词边界,用于匹配某个单词

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

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

标签:

原文地址:http://www.cnblogs.com/pengyanxue/p/5248993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!