陣列去重的方法

2021-08-25 17:37:31 字數 1013 閱讀 7702

1.第一種方法:有乙個需要去掉重複元素的陣列arr,定義乙個新陣列res,迴圈遍歷arr陣列中的每乙個元素,看res中是否存在,如果不存在,則push進去

function

repeat

(arr)

}}repeat([1,3,5,7,9,12,15,21,34]);

2.利用物件屬性去重:每次迴圈取出原陣列的元素,看物件裡面是否有這個鍵的值,如果有就說明重複

function

repeat

(arr);

for(var i=0; i

[i].

length; i++)

}return res;

}

3.排序後去重:對需要去重的陣列進行排序,然後相互比較,如果不同則存入新陣列

function

repeat

(arr)}}

}

4.es6中,set方法實現陣列去重:在set裡面就連不相等的nan也都可以去重,這種方法雖然好,但是在ie系列不支援

var arr = [1,1,'1','1'];

console.log(new set(arr));

//返回的事乙個set物件

set(2)

size:2

_proto_:set

[[entries]]:array(2)

0:11:'1'

那麼我們想要的是乙個陣列,就需要用es6中另外一種方法,array.from(),可以把物件轉化為陣列

var arr = [1,1,'1','1'];

varset = new

set(arr);

var newarr = array.from(set);

console.log(newarr);

//array(2)

0:11:'1'

陣列去重方法

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