用 Javascript 脚本为所有的 Array 添加一个去除重复项的方法

<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 o2){
     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)