数组去重复操作

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

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可以快速开发上位机,本站主要记录了学习过程中遇到的问题和解决办法及aardio代码分享

这里主要专注于aardio学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.

Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
本 站 主 站:Stm32cube中文网
Sciter中文在线文档Sciter在线学习文档
空间赞助:才仁机械
Loading...