随笔 - 1330  文章 - 1  评论 - 378  阅读 - 482万 

代码

复制代码
<script type="text/javascript"> 
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()); //2,3,4,7
alert("整理后的数组是:" + a);            //2,3,4,5.6,6
alert("整理后的长度是:" + a.length)       //6
</script> 
复制代码

 


一个同行对上述程序代码不解,主要是不理解下面这段代码:

复制代码
 for(var i=0;o = $[i];i++){ 
  
if(o in o1){ 
   
if(!(o in o2)) o2[o] = o; 
   
delete $[i]; 
  }
else
   o1[o] 
= o; 
  } 
 } 
复制代码

 

最后一起研究,讨论如下:

 

posted on   钱途无梁  阅读(986)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2009-03-22 ASP连接SQL Server2000数据库例程
2009-03-22 jzjc_FlashPicNews.asp
点击右上角即可分享
微信分享提示