数组去重复操作
By
admin
at 2017-12-10 • 0人收藏 • 1632人看过
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] 这个就是如果键值对应的数不存在,那么........
登录后方可回帖