陣列去重的方法總結 2023年

2021-09-16 22:04:40 字數 1412 閱讀 3753

現在要求去重下面這個陣列

[1, 2, 3, 3, 3, '0', '1', '2', '測試', '重複', '重複', nan, nan, false, false];

方法一:es6 set()

let arr = [1, 2, 3, 3, 3, '0', '1', '2', '測試', '重複', '重複', nan, nan, false, false];

arr = [...new set(arr)]; //去重後: [ 1, 2, 3, '0', '1', '2', '測試', '重複', nan, false ]

set 是es6新加的集合,集合中的值不會重複。 ...操作符 會將可遍歷物件,轉換為陣列.

方法二:利用物件

let arr = [1, 2, 3, 3, 3, '0', '1', '2', '測試', '重複', '重複', nan, nan, false, false];

let obj ={};

let temp=;

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

}console.log(temp)//去重後: [ 1, 2, 3, '0', '1', '2', '測試', '重複', nan, false ]

方法三:sort排序後 在去重

let arr = [1, 2, 3, 3, 3, '0', '1', '2', '測試', '重複', '重複', nan, nan, false, false];

arr = arr.sort();

let temp =;

while(arr.length > 0) else

}//此方法會清空原陣列, 你可以複製個陣列,在去進行操作

console.log(temp)//去重後: [ '0', 1, '1', '2', 2, 3, nan, false, '測試', '重複' ]

方法四:for in

let arr = [1, 2, 3, 3, 3, '0', '1', '2', '測試', '重複', '重複', nan, nan, false, false];

let temp =;

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

}console.log(temp);//去重後: [ 1, 2, 3, '0', '1', '2', '測試', '重複', nan, false ]

陣列去重的方法總結

實現思路 新建乙個陣列,遍歷要去重的陣列,當值不在新陣列的時候 indexof 為 1 就加入該新陣列中 function unique arr return newarr var arr 1,2,2,3,4,4,5,1,3 var newarr unique arr console.log new...

陣列去重的方法總結

方法一 var arr 1,a a b d e 1,0 array.prototype.unique1 function i 4 if repeat return res var arr 1,a a b d e 1,0 console.log arr.unique1 方法二 如果物件屬性不存在,不會...

陣列的去重方法總結(包括物件陣列的去重方法)

陣列的去除在真實專案中是非常的常用,那麼在這裡總結一下物件陣列及基本型別陣列的去重方法,主要利用了物件的鍵值是唯一的乙個特性。1 去重方法一利用陣列的索引對應的值。let arr 2,3,3,3,2,4,2 console.log arr is a instance of arr typeof ar...