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));
或者
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];
const s = new set();
arr.foreach(x => s.add(x));
console.log(...new set(s));
2、
建立乙個新的陣列存放結果,
建立乙個空物件
for迴圈時,每次取出乙個元素與物件進行對比,如果這個元素不重複,則把它存放到結果陣列中,同時把這個元素的內容作為物件的乙個屬性,並賦值為1,存入到第2步建立的物件中。
至於如何對比,就是每次從原陣列中取出乙個元素,然後到物件中去訪問這個屬性,如果能訪問到值,則說明重複。
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];
var arr_new = ;
var json = {};
for(let i=1;i3、構建乙個新的陣列存放結果,
for迴圈中每次從原陣列中取出乙個元素,用這個元素迴圈與結果陣列對比。
若結果陣列中沒有該元素,則存到結果陣列中。
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];
var arr_new = [arr[0]];
for(var i=1;i列印結果:
陣列去重方法
雙迴圈去重 雙重 for 或 while 迴圈是比較笨拙的方法,它的實現原理很簡單 先定義乙個包含原始陣列第乙個元素的陣列,然後遍歷原始陣列,將原始陣列中的每個元素與新陣列的每個元素進行比較,如果不重複則新增到新的陣列中,最後返回新的陣列,其缺點是如果陣列長度很長,那麼將會非常消耗記憶體 funct...
陣列去重方法
1.使用原生的filter和indexof來進行過濾和篩選。var filtered data.filter function item,index 複製 使用filter的第三個引數繫結this的值 var filtered2 data.filter function item,index,sel...
陣列去重方法
第一種方法用set內的值不可重複的屬性 const array 1 4,6 4,64 4,478 function uniqueuseset arr 物件是一種以鍵值對儲存資訊的結構,並且不能有重複的鍵 function uniqueobject arr len arr.length for let...