陣列的去重方法

2022-08-11 22:51:17 字數 1416 閱讀 9222

在陣列中有時候會有重複元素,而我們並不需要因此就需要對陣列進行去重。

去重的方法很多,這裡幾種是自己易於理解的幾種方法。

利用es6提供的新的資料結構set。它類似於陣列,但是它的元素值是唯一的,沒有重複的。

1 let arr = [1,1,1,1,1,1,2,3,4,1,2,3,4]

2 arr = array.from(new

set(arr))

3console.log(arr)4//

[ 1, 2, 3, 4 ]

let arr = [1,1,1,1,1,1,2,3,4]

function

distinct(arr)

});return

result;

}console.log(distinct(arr))

//[ 1, 2, 3, 4 ]

1 let arr = [1,1,1,1,1,1,2,3,4]23

function

distinct(arr) 12}

13}14return

arr;15}

16console.log(distinct(arr))

17//

[ 1, 2, 3, 4 ]

let arr = [1,1,1,1,'1',1,2,3,4,'4']

function

unique(arr);

return arr.filter((item) =>)

}console.log(unique(arr))

//[ 1, 2, 3, 4 ]

由上面個看出,不能區分 1 和 『1』 ,因此此方法僅適用於純數字的陣列。

let arr = [1,1,1,1,1,1,2,3,4,'4','4','4']

function

unique(arr),

item,key,

res =;

for(let i=0,len=arr.length;i)

} return

res;

}console.log(unique(arr))

//[ 1, 2, 3, 4, '4' ]

此方法可以區分數字和字元,比上一種方法更優。

let arr = [1,1,1,1,1,1,2,3,4,'4','4','4']

function

distinct(arr)

}result.push(arr[i])

} return

result;

}console.log(distinct(arr))

//[ 1, 2, 3, 4, '4' ]

以上就是幾種易於理解的常用陣列去重方法。

陣列去重方法

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