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