陣列去重的方法

2022-08-04 01:39:11 字數 959 閱讀 2720

1.雙重for迴圈去重 

將陣列中的每一項與它後面的每一項進行比較,沒有重複就新增進新的空陣列

var arr = [3, 5, 2, 6, 8, 5, 7, 2];

var newarray = ;

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

}newarray.push(arr[i]);

}2.indexof 索引查詢法

宣告乙個老陣列和乙個新陣列,看老陣列的每一項是否存在於新陣列中,不存在就新增進新

陣列。let arr = [3, 5, 2, 5, 7, 23, 5, 7];

let newarr = ;

arr.foreach( (val,index) =>

})3. 空物件記錄重複的值

let arr = [3, 5, 2, 5, 7, 23, 5, 7];

let newarr =

let obj = {}

arr.foreach((val) =>  

})4. filter過濾

let arr = [3, 5, 2, 5, 7, 23, 5, 7];

let r = arr.filter( (val,index,self)=>)  

es6陣列去重方法

5.set方法

宣告乙個有重複值的陣列,通過set建構函式將陣列轉換成沒有重複值的物件,再將物件轉成陣列

let arr = [3, 5, 2, 5, 7, 23, 5, 7];

let obj = new set(arr)

let newarr = array.from(obj)

6.拓展運算子 ... 

將陣列轉為用逗號分隔的引數序列,具有合併複製陣列等功效

let arr = [3, 5, 2, 6, 5, 7];

let newarr = [...new set(arr)];

陣列去重方法

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...