標籤:[] 位置 重複元素 ext class cti pre 返回 聲明
方法一:
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]]=111 }12 }13 return newArr14 }
方法三:
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 }
js 去除重複元素