javascript中数组去除重复值

<script> 

Array.prototype.distinct = function(){ 

 var $ = this; 

 var o1 = {}; 

 var o2 = {}; 

 var o3 = []; 

 

 var o; 

 for(var i=0;o = $[i];i++){ 

  if(o in o1){ 

   if(!(o in o2)) o2[o] = o; 

   delete $[i]; 

  }else{ 

   o1[o] = o; 

  } 

 } 

  

 $.length = 0; 

 for(o in o1){ 

  $.push(o); 

 } 

  

 for(o in o2){ 

  o3.push(o); 

 } 

   

 return o3; 

var a = [2,2,2,3,3,3,4,4,5,6,7,7]; 

alert("原数组:" + a); 

alert("有重复的元素是:" + a.distinct()); 

alert("整理后的数组是:" + a); 

alert("整理后的长度是:" + a.length) 

</script>


你可能感兴趣的:(JavaScript,prototype)