方法一: 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 }
时间: 2024-10-24 10:06:40