陣列去重的方法

2022-10-10 23:18:23 字數 1341 閱讀 1263

一、返回 去重後陣列

1、請給array本地物件增加乙個原型方法,它用於刪除陣列條目中重複的條目(可能有多個),返回值是乙個包含被刪除的重複條目的新陣列。

array.prototype.delrepet=delrepet();

function delrepet();

var arr=;

for(var i=0,len=array.length;iobj[array[i]] = array[i];

}for(var o in obj)

return arr;

}var result = delrepet();

console.log(result)

測試結果

2、用hash表來去除重複項,原理同上

1 array.prototype.unique = function()2

,r=; //

n為hash表,r為臨時陣列

4for(var i = 0; i < this.length; i++) //

遍歷當前陣列511

}12return

r;//返回過濾了重複資料組成陣列

13 }

二、返回重複資料組成的陣列

1 array.prototype.unique2 = function()2

,r=,r1=; //

n為hash表,r為臨時陣列存放不重複資料,r1存放重複資料

4for(var i = 0; i < this.length; i++) //

遍歷當前陣列

5else14}

15return r1;//

返回重複資料組成陣列

16 }

三、返回重複陣列與不重複陣列

將陣列轉化成字串,使用字串的匹配方法查詢重複資料

1

var arr=[2,3,1,5,4,2,1];

2var arr1=,arr2=;

3var str = arr.join(",");

4for(var i=0,len=arr.length;i)else11}

12 console.log(arr1,arr2)

hash去重

$.each(shopgroup,function

(index,obj)

});

四、字串去重法---最新方法:

1

var arr=[a,b,c,d];

2   arr1 =;

3for(var i = 0; i < arr.length;i++)

7 }

陣列去重方法

1 es6提供了新的資料結構set,它類似於陣列,但是成員的值是唯一的,沒有重複的值。let arr 1,2,5,2,3,4,1,2,3,5,4,1,2,3,2,1,1,1,asd 123 123 123 asd 1,true,true,false console.log new set arr 或...

陣列去重方法

雙迴圈去重 雙重 for 或 while 迴圈是比較笨拙的方法,它的實現原理很簡單 先定義乙個包含原始陣列第乙個元素的陣列,然後遍歷原始陣列,將原始陣列中的每個元素與新陣列的每個元素進行比較,如果不重複則新增到新的陣列中,最後返回新的陣列,其缺點是如果陣列長度很長,那麼將會非常消耗記憶體 funct...

陣列去重方法

1.使用原生的filter和indexof來進行過濾和篩選。var filtered data.filter function item,index 複製 使用filter的第三個引數繫結this的值 var filtered2 data.filter function item,index,sel...