数组去重复操作

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

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] 这个就是如果键值对应的数不存在,那么........


登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...