数组去重复操作

By admin at 2017-12-10 • 0人收藏 • 528人看过

import console;
  
console.setTitle("aardio工程10");
 
//var str = console.getText("请输入一行文本,然后回车:");
//console.log("您输入的是" ,str );
 
var tab = {1;2;8;3;4;5;1;2;3;6;8;5;3;9}; 
 var tab2 = {};
 var tab3 = {};
  
 for(i=1;#tab;1){
    
 var key = tab[i] ;
 if not tab2[key]
   {
       table.push(tab3,key);
       tab2[key] = "";
   } 
 }
 console.varDump(tab3);
   
console.pause();

听说还有个更好的办法,将数值和键值交换两次...


这里详细介绍下上面的 数组去重的方法:

定义t3个数组,循环tab数组里面的每个元素,将每个元素值作为数组tab2的键值,如果该键值所在的元素不存在,那么就说明没有重复数字出现,于是将这个数值放入第三个数组tab3中.

这样tab3中就是剔除重复之后的数值了.

这里有个地方要注意的:tab2[key] = "";

这句话,如果是经常写C的人可能不是很理解,写单片机的话,这个就会理解为空,但是aar中却不这样理解,应理解为空字符,这个是个数值.

其实要是改写为:tab2[key] = "1"; 这样可能就更好理解了.就是将这个键值对应的数赋值为1,这样里面就有数值了,那么判断 not tab2[key] 这个就是如果键值对应的数不存在,那么........


登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
Sciter中文在线文档Sciter在线学习文档
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...