js 去除重複元素

方法一: 
1
//數組去重的方法 2 Array.prototype.unique=function(){ 3 //集中聲明變量 4 var 5 oldArr=this, 6 newArr=[oldArr[0]], 7 len=oldArr.length, 8 i=1; 9 //過濾空數組 10 if(!len) return this; 11 //過濾重複元素 12 for(;i<len;i++){ 13 newArr.indexOf(oldArr[i])<0 ? newArr.push(_this) : ''; 14 } 15 //返回過濾後的數組沒有影響原數組 16 return newArr; 17 } 18 var arr=['a','a','b','a','c','d']; 19 console.log(arr.unique()); 20 //["a", "b", "c", "d", unique: function]
 方法二:
1
function oSort(arr) 2 { 3 var result ={}; 4 var newArr=[]; 5 for(var i=0;i 6 { 7 if(!result[arr[i]]) 8 { 9 newArr.push(arr[i]) 10 result[arr[i]]=1 11 } 12 } 13 return newArr 14 }
方法三:
1
var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; 2 function unique(arr){ 3 // 遍歷arr,把元素分別放入tmp數組(不存在才放) 4 var tmp = new Array(); 5 for(var i in arr){ 6 //該元素在tmp內部不存在才容許追加 7 if(tmp.indexOf(arr[i])==-1){ 8 } 9 } 10 return tmp; 11 }
方法四: 
1
<script type="text/javascript"> 2 var student = ['qiang','ming','tao','li','liang','you','qiang','tao']; 3 function unique(arr){ 4 var tmp = new Array(); 5 for(var m in arr){ 6 tmp[arr[m]]=1; 7 } 8 //再把鍵和值的位置再次調換 9 var tmparr = new Array(); 10 for(var n in tmp){ 11 tmparr.push(n); 12 } 13 return tmparr; 14 } 15 </script>
方法五: 
1
/** 2 * 去除數組重複元素 3 */ 4 function uniqueArray(data){ 5 data = data || []; 6 var a = {}; 7 for (var i=0; i<data.length; i++) { 8 var v = data[i]; 9 if (typeof(a[v]) == 'undefined'){ 10 a[v] = 1; 11 } 12 }; 13 data.length=0; 14 for (var i in a){ 15 data[data.length] = i; 16 } 17 return data; 18 }
相關文章
相關標籤/搜索