码迷,mamicode.com
首页 > Web开发 > 详细

js 去除重复元素

时间:2017-02-10 17:13:39      阅读:427      评论:0      收藏:1      [点我收藏+]

标签:[]   位置   重复元素   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]]=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 }

 

js 去除重复元素

标签:[]   位置   重复元素   ext   class   cti   pre   返回   声明   

原文地址:http://www.cnblogs.com/lp-web/p/6387023.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!