廢話不多說了,具體方法如下:
方法一:傳回新數組每個位子類型沒變
function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { hash[a[i]]!=null; if(!hash[a[i]]){ arr.push(a[i]); hash[a[i]]=true; } } console.log(arr); } outRepeat([2,4,4,5,"a","a"]);//[2, 4, 5, "a"]
方法二:類似法一,但本農覺著法一更容易理解
function outRepeat(a){ var hash=[],arr=[]; for (var i = 0,elem;(elem=a[i])!=null; i++) { if(!hash[elem]){ arr.push(elem); hash[elem]=true; } } console.log(arr); } outRepeat([2,4,4,5,"a","a"]);//[2, 4, 5, "a"]
方法三:比前兩個更易於理解但是返回的新數組每個位子的number類型變為string類型了! !關鍵時刻得處理
function outRepeat(a){ var hash=[],arr=[]; for (var i = 0; i < a.length; i++) { hash[a[i]]=null; } for(var key in hash){ arr.push(key); } console.log(arr); } outRepeat([2,4,4,5,"a","a"]);//["2", "4", "5", "a"]
以上是小編給大家介紹的JavaScript中陣列去除重複的三種方法,希望對大家有幫助!