js陣列去重方法總結

2021-10-08 01:25:54 字數 1580 閱讀 4976

1.es6中的set去重

語法new set(要去重的陣列),返回乙個陣列

eg:var arr1= [1,3,4,1,4,5,7,{},{},nan,true,null,true,『hahah』,『kk』,『hahah』,nan,null]

var arr2 = new set(arr1);

console.log(arr1);

console.log(arr2);

// 語法new set(要去重的陣列),返回乙個陣列

注:此方法有乙個缺陷不能去掉多餘的物件

2,slice去重

var arr1 = [1,1,3,4,2,4,3,2,5,7,3]

for(var i=0;i3.indexof去重

該方法重新申明了乙個陣列array,for迴圈原陣列,每次迴圈時判斷array中是否包含該次迴圈的元素,如果不包含就將這個元素新增到array中去。

function unique(arr)

}return array;

}var arr= [1,1,3,4,2,4,3,2,5,7,3]

console.log(unique(arr));

4.sort

先呼叫sort方法排好序,在依次比較相鄰兩個元素是否相同,不同就push到新陣列裡面去

function unique(arr)

}return array;

}var arr = [1,1,3,4,2,4,3,2,5,7,3]

console.log(arr.length);

console.log(unique(arr));

5.利用物件的屬性不能重複去重

function unique(arr) ;

var array = ;

for(var i=0;i}return array;

}var arr= [1,1,3,4,2,4,3,2,5,7,3]

console.log(unique(arr));

6.includes去重

includes方法和indexof方法用法差不多,但是indexof有乙個缺點,無法判斷陣列中的nan。

宣告乙個陣列,迴圈原陣列,當這個陣列裡面裡面不包含原陣列裡面的資料時,將當前迴圈到的資料,push到宣告的陣列裡去。

function unique(arr)

}return array;

}var arr= [1,1,3,4,2,4,3,2,5,7,3]

console.log(unique(arr));

7.利用hasownproperty 判斷是否存在物件屬性與filter結合

function unique(arr) ;

return arr.filter(function (item) )

}var arr= [1,1,3,4,2,4,3,2,5,7,3]

console.log(unique(arr));

8.利用filter

function unique(arr) )

}var arr= [1,1,3,4,2,4,3,2,5,7,3]

console.log(unique(arr));

js陣列去重方法總結

暴力去重,利用迴圈每次判斷當前元素是否在陣列中別的地方出現過,此處不展開介紹 利用 es6 的 set 是不重複集合的特性 function reducerepeatbyset arr 利用object的key不能重複的特性 function reducerepeatbyobject arr let...

Js陣列去重方法總結

方法一 var arr 1,23,1,1,1,3,23,5,6,7,9,9,8,5 function removeduplicateditem arr return arr arr2 removeduplicateditem arr console.log arr console.log arr2 ...

JS 陣列去重的方法總結

最近,在面試題中經常能夠看到陣列去重這個題目,這道題目其實很簡單,可以有多種方法解答。為了開闊自己的思維,特意去網上查了一下相關的方法,特意總結下來。function uniquebyindexof arr return newarr function getuniqearray arr if j ...