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

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

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

时间: 2024-12-27 13:25:14

用正则去掉数组中重复的元素的相关文章

去掉数组中重复的数字

冒泡排序语法: for (int i = 0; i < 数组长度 - 1; i++) { for (int j = 0; j < 数组长度 - i - 1; j++) { if (数组名[j] < 数组名[j + 1]) { int empty = 数组名[j]; 数组名[j] = 数组名[j + 1]; 数组名[j + 1] = empty; } } } 上面这个语法是降序排序,如果想升序的话就把if(数组名[j]<数组名[j=1])里面的小于号“<”改成大于号“>”

javascript如何去掉数组中重复的值

javascript如何去掉数组中重复的值: 数组是用来组织数据的,有时候里面的数据是重复的,下面就介绍一下如何从数组中删除重复的内容. 代码实例如下: var theArray=[1,2,3,4,5,6,4,3,10]; function unique(data){ var data=data||[]; var a={}; for(var i=0;i<data.length;i++){ var v=data[i]; if(typeof(a[v])=='undefined'){ a[v]=1;

442. 找出数组中重复的元素 Find All Duplicates in an ArrayGiven an array of integers

Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elements that appear twice in this array. Could you do it without extra space and in O(n) runtime? Example: Input: [4,3,2,7,

消除一个数组中重复的元素

使用JavaScript消除一个数组中重复的元素 var arr1 = [1,1,2,3,4,5,6,6,6,7],arr2 = []; for(var i=0;i<arr1.length;i++){ if(arr2.indexof(arr1[i] < 0){ arr2.push(arr1[i]); } } document.write(arr2); //1,2,3,4,5,6,7

利用JavaScript去掉数组中重复项

利用JavaScript的object的特性,我们可以非常容易的实现将一个数组的重复项去掉. object的特性是:key一定是唯一的. 把数组重复项去掉: 1 将数组转换成一个object对象,数组的值作为object对象的 key 因为key是唯一的,碰到重复的数组值的时候,object不会添加key 2 将object对象转换成数组,key为数组的值. 在之前的重复数组,每一个值实际上对应object只有一个key,这样在还原到数组的时候,重复值就去掉了 1 /*用object的特性去掉数

获取数组中重复的元素

第一种,判断包含基本类型的数组中的重复元素 /** * (这里只是判断基本类型的元素) * @param Array * @return Array */ export const getRepeatElement = (array) => { let result = [] let hash = {} array.forEach((item) => { if (item) { if (!hash[item]) { hash[item] = true } else { result.push(

去除数组中重复的元素

1 var arr = [1,2,3,4,5,6,1,2,3,11,1,2,3]; 2 3 var arr2 = neaten_arr(arr); 4 5 function neaten_arr(arr){ 6 var a = new Array(); 7 var b = new Array(); 8 9 for(i in arr){ 10 a[arr[i]] = 1; //将arr中的值改为数组a的下边,这个样子整会把重复的下标值覆盖掉 11 } 12 for(i in a){ 13 b.pu

去掉数组中重复的数字。

思路:每遍历一次就和之前的所有做比较,不相等则放入新的数组中! 这里用的原型 个人做法: 方法一: rray.prototype.unique = function(){     var len = this.length,         newArr = [],         flag = 1;     for(var i = 0; i < len; i++, flag = 1){         for(var j = 0; j < i; j++){             if(th

编写一个方法,去掉数组中重复元素

//排序后相邻去除法 arr=[1,2,5,1,3,7,9,5]; function unique(arr){ arr.sort(); var _arr=[arr[0]];//结果数组 for(var i=0;i<arr.length;i++){ if(arr[i]!=_arr[_arr.length-1]){ _arr.push(arr[i]); } } return _arr; } unique(arr); //遍历数组法 if(Array.prototype.indexOf===-1){